簡體   English   中英

在Java中讀取JSON雙維數​​組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM