-
Parse Json Object with dynamic keys using Gson
over 8 years ago
-
over 6 years ago
how can i fetch name from it -
over 8 years ago
Gson is a java library which converts Json to Java object and vice versa.
This blog is about how we can parse Json data to Java Object where keys are dynamic created.
1. Json Sample text is:-
{
"data": {
"status_code": "101",
"feeds": {
"39": {
"name": "Ammy",
"address": "Dehradun"
},
"40": {
"name": "Aman",
"address": "Dehradun"
}
}
}
}
{
"data": {
"status_code": "101",
"feeds": {
"39": {
"name": "Ammy",
"address": "Dehradun"
},
"40": {
"name": "Aman",
"address": "Dehradun"
}
}
}
}
2. Create Java class with name DemoJson and Add below code.
@SerializedName("data")
@Expose
private Data data;
/**
*
* @return
* The data
*/
public Data getData() {
return data;
}
/**
*
* @param data
* The data
*/
public void setData(Data data) {
this.data = data;
}
}
@SerializedName("data")
@Expose
private Data data;
/**
*
* @return
* The data
*/
public Data getData() {
return data;
}
/**
*
* @param data
* The data
*/
public void setData(Data data) {
this.data = data;
}
}
3. Create Class with name Data as below.
public class Data {
@SerializedName("status_code")
@Expose
private String statusCode;
@SerializedName("feeds")
@Expose
private Map<String, Feeds> feeds;
/**
*
* @return
* The statusCode
*/
public String getStatusCode() {
return statusCode;
}
/**
*
* @param statusCode
* The status_code
*/
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
/**
*
* @return
* The feeds
*/
public Map<String, Feeds> getFeeds() {
return feeds;
}
/**
*
* @param feeds
* The feeds
*/
public void setFeeds(Map<String, Feeds> feeds) {
this.feeds = feeds;
}
}
public class Data {
@SerializedName("status_code")
@Expose
private String statusCode;
@SerializedName("feeds")
@Expose
private Map<String, Feeds> feeds;
/**
*
* @return
* The statusCode
*/
public String getStatusCode() {
return statusCode;
}
/**
*
* @param statusCode
* The status_code
*/
public void setStatusCode(String statusCode) {
this.statusCode = statusCode;
}
/**
*
* @return
* The feeds
*/
public Map<String, Feeds> getFeeds() {
return feeds;
}
/**
*
* @param feeds
* The feeds
*/
public void setFeeds(Map<String, Feeds> feeds) {
this.feeds = feeds;
}
}
4. Create Java class with name Feeds like below.
public class Feeds {
@SerializedName("name")
@Expose
private String name;
@SerializedName("address")
@Expose
private String address;
/**
*
* @return
* The name
*/
public String getName() {
return name;
}
/**
*
* @param name
* The name
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @return
* The address
*/
public String getAddress() {
return address;
}
/**
*
* @param address
* The address
*/
public void setAddress(String address) {
this.address = address;
}
}
public class Feeds {
@SerializedName("name")
@Expose
private String name;
@SerializedName("address")
@Expose
private String address;
/**
*
* @return
* The name
*/
public String getName() {
return name;
}
/**
*
* @param name
* The name
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @return
* The address
*/
public String getAddress() {
return address;
}
/**
*
* @param address
* The address
*/
public void setAddress(String address) {
this.address = address;
}
}
5. Now open Class where you want to parse Json Data to Java Object.
6. Create Gson object.
7. Get JavaObject from Below Code.
You will get all your Json data in myObj.
Happy Coding :D
over 6 years ago
1 Comment(s)