[英]Read JSON double dimensional array in Java
我正在嘗試從JSONObject獲取一個字符串。
我的JSON看起來像這樣:
{
"agent":
[
{"name":"stringName1", "value":"stringValue1"},
{"name":"stringName2", "value":"stringValue2"}
]
}
我想從stringName1和stringName2獲取值。 首先,我嘗試使用此代碼獲取“代理”:
JSONObject agent = (JSONObject) jsonObject.get("agent");
但是,這會引發一個錯誤。
你對如何處理有任何想法嗎?
您正在嘗試將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");
}
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));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.