Reputation: 617
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
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