{
"Items": [{
"__type": "Section1:#com.test.example",
"Info": {
}, {
"__type": "Section2:#com.test.example2",
"Allergy": [{
}]
}
}]
}
我如何解析上面的 JSON 对象,以便获得信息项和过敏项......
JSONObject documentRoot = new JSONObject(result);
JSONArray documentChild = documentRoot.getJSONArray("Items");
JSONObject child = null;
for (int i = 0; i < documentChild.length(); i++) {
child = documentChild.getJSONObject(i);
}
最佳答案
这是有效的 JSON:在此处检查有效性:http://jsonlint.com/
{
"Items": [
{
"__type": "Section1:#com.test.example",
"Info": {}
},
{
"__type": "Section2:#com.test.example2",
"Allergy": [
{}
]
}
]
}
尝试:
public static final String TYPE_KEY = "__type";
public static final String TYPE1_VAUE = "Section1:#com.test.example";
public static final String TYPE2_VAUE = "Section2:#com.test.example2";
public static final String INFO_KEY = "Info";
public static final String ALLERGY_KEY = "Allergy";
....
String infoString = null;
JSONArray allergyArray = null;
for (int i = 0; i < documentChild.length(); i++) {
child = documentChild.getJSONObject(i);
final String typeValue = child.getString(TYPE_KEY);
if(TYPE1.equals(typeValue)) {
infoString = child.getString(INFO_KEY);
}else if(TYPE2.equals(typeValue)) {
allergyArray = child.getJSONArray(ALLERGY_KEY);
}
}
if(null != infoString) {
// access the 'Info' value in 'infoString'
}
if(null != allergyArray) {
// access the 'Allergy' array in 'allergyArray'
}
...
希望这有帮助!
关于java - 使用java解析json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15993812/