我试图从JSONObject获取字符串。
我的JSON看起来像这样:
{
"agent":
[
{"name":"stringName1", "value":"stringValue1"},
{"name":"stringName2", "value":"stringValue2"}
]
}
我想从stringName1和stringName2获取值。首先,我试图获得"代理商#34;用这个:
JSONObject agent = (JSONObject) jsonObject.get("agent");
但是,这会引发错误。
您对如何处理有任何想法吗?
答案 0 :(得分:3)
您正在尝试将JSON数组解析为JSON对象。当然它会给你错误。
请改为尝试:
JSONArray agent = jsonObject.getJsonArray("agent");
// To get the actual values, you can do this:
for(int i = 0; i < agent.size(); i++) {
JSONObject object = agent.get(i);
String value1 = object.get("name");
String value2 = object.get("value");
}
答案 1 :(得分:0)
String Json=" { agent: [ {name:stringName1, value:stringValue1},{name:stringName2, value:stringValue2}]}";
您正在将Jsonarray解析为JsonObject,这就是您收到错误的原因。
JSONObject obj = new JSONObject(Json);
JSONArray array = obj.getJSONArray("agent");
for(int i = 0 ; i < array.length() ; i++)
{
String strngNameOne=array.getJSONObject(i).getString("name");
String stringNameTwo=array.getJSONObject(i).getString("value");
//System.out.println(array.getJSONObject(i));
}