basha
basha

Reputation: 617

How Can I Parse this Json Formated Data Using Model Classes

I was able to parse this below Json Array in Normal way . But now I want to parse this String using Model Classes. How Can I do this.

    [
        {
            "Id": "-1",
            "Name": "name1",

            "Children": [
 {
                    "Id": "2",
                    "Name": "name2",
                    "Children": [
                        {
                            "Id": "3",
                            "Name": "name3",
                            "Children": [
                                {
                                    "Id": "15",
                                    "Name": "name222",
                                    "Children": [
                                        {
                                            "Id": "16",
                                            "Name": "xddxxcc",
                                        },
                                        {
                                            "Id": "20",
                                            "Name": "sdd",

                                            "Children": []
                                        },
                                        {
                                            "Id": "23",
                                            "Name": "cdaca",

                                            "Children": []
                                        },
                                        {
                                            "Id": "28",
                                            "Name": "assa",
                                            "Children": [ ]
                                        }
                                    ]
                                },

                        {
                            "Id": "15",
                            "Name": "fdcds"
                            "Children": []
                        }]}]}]

I have taken Model class Like below.

class Model1{
String id;
String Name;
ArrayList<Children>Children=new ArrayList<>();
//Getters and setters
}

and Children.class File was

class Children{
 String id;
    String Name;
    ArrayList<Children>Children=new ArrayList<>();
    //Getters and setters
}

Please Some one help me. Thanks In Advance

Upvotes: 0

Views: 100

Answers (1)

tinamou
tinamou

Reputation: 2292

Your JSON is invalid. Proper below:

[  
   {  
      "Id":"-1",
      "Name":"name1",
      "Children":[  
         {  
            "Id":"2",
            "Name":"name2",
            "Children":[  
               {  
                  "Id":"3",
                  "Name":"name3",
                  "Children":[  
                     {  
                        "Id":"15",
                        "Name":"name222",
                        "Children":[  
                           {  
                              "Id":"16",
                              "Name":"xddxxcc",
                              "Children":[  

                              ]
                           },
                           {  
                              "Id":"20",
                              "Name":"sdd",
                              "Children":[  

                              ]
                           },
                           {  
                              "Id":"23",
                              "Name":"cdaca",
                              "Children":[  

                              ]
                           },
                           {  
                              "Id":"28",
                              "Name":"assa",
                              "Children":[  

                              ]
                           }
                        ]
                     },
                     {  
                        "Id":"15",
                        "Name":"fdcds",
                        "Children":[  

                        ]
                     }
                  ]
               }
            ]
         }
      ]
   }
]

This is your model:

public class Child
{
    public string Id { get; set; }
    public string Name { get; set; }
    public Child[] Children { get; set; }
}

And for parsing json into your model use: (I assume you're using java) (reference)

Jackson

import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
Child[] myObjects = mapper.readValue(json, Child[].class)

GSON

Gson gson = new Gson();
Child[] myObjects = gson.fromJson(json, Child[].class);

Upvotes: 2

Related Questions