我想從整個嵌套的json中獲取列表json的一部分。我有一個JSON看起來像以下:使用Gson將嵌套的json拆分爲更小的jsons
{
"response": 200,
"responseMsg": "Allright",
"location": [
{
"stateId": 1,
"stateName": "West Bengal",
"district": [
{
"districtId": 15,
"districtName": "abc",
"village": [
{
"villageId": 121,
"villageName": "ABC"
},
{
"villageId": 90,
"villageName": "XYZ"
}
]
},
{
"districtId": 11,
"districtName": "xyz",
"village": [
{
"villageId": 58,
"villageName": "PQR"
}
]
}
]
}
]
}
我已經寫了豆文件如下: Details.java:
public class Details {
private int response = 0;
private String responseMsg = null;
private List<State> states = null;
public List<State> getLocation() {
return location;
}
State.java:
public class State {
private int stateId = 0;
private String stateName=null;
private List<District> district;
public List<District> getDistrict() {
return district;
}
現在,我只需要不同的狀態json,以便我可以使用它作爲List來填充android中的微調器。 對於解析JSON,我使用
Gson googleJson = builder.create();Details details = googleJson.fromJson(result, Details.class);
List<State> stateList = details.getLocation();
但是當我再次將它轉換爲使用gson.toJson(stateList)
JSON這給:
[
{
"district": [
{
"village": [
{
"villageName": "Mekhliganj",
"villageId": 57
}
],
"districtName": "Cooch Bihar",
"districtId": 10
}
],"stateName=West Bengal","stateId":1
}
}
但是,這是另一種方式圓如州名進去到底什麼時候我再次將其轉換爲json。 同樣,這同JSON(stateList)給出空指針異常,當我再次嘗試解析它作爲:
State stateObj = gson.fromJson(stateList,State.class);
什麼應該是正確的方式來做到這一點?即從一個整體使用gson獲取json(list)的一部分並解析該部分?
混淆的問題,我想,請有道ellaborate,你提到的Json與「國家」,但在你的迴應沒有標記命名狀態。請解釋正確,所以可以幫助你, –
@PratikDasa我的意思是位置。我基本上想要一個json,只有部分完整的json響應,即只包含狀態列表的json(和區域,村莊,因爲它們在州內) – Prakruti
您必須使用GSON?什麼結果可變?我的意思是字符串或數組? @Prakruti –