簡體   English   中英

Java中的JSONArray中的JSONArray

[英]JSONArray from JSONArray in java

我需要從JSONArray獲取JSONArray:

      JSONParser parser = new JSONParser();
      JSONObject jObject=(JSONObject)parser.parse(s);
      JSONArray messages = (JSONArray) jObject.get("routes");
      JSONArray ar = (JSONArray)messages.get("legs");

JSONArray.get不要將字符串作為參數。

我的JSON字符串:

    {
   "routes" : [
  {
     "bounds" : {
        "northeast" : {
           "lat" : 27.9786758,
           "lng" : 31.2199858
        },
        "southwest" : {
           "lat" : 27.0120443,
           "lng" : 30.9788969
        }
     },
     "copyrights" : "Map data ©2015 Google, ORION-ME",
     "legs" : [
        {
           "distance" : {
              "text" : "138 km",
              "value" : 138208
           },
           "duration" : {
              "text" : "1 hour 52 mins",
              "value" : 6744
           },

JSONArray表示一個數組。 數組沒有任何屬性。 它們具有從0到數組長度的索引的元素。

如果要從數組中獲取第一個元素(具有legs屬性的JSONObject),請使用類似以下內容的方法:

JSONObject firstElement = (JSONObject) messages.get(0);
JSONArray ar = (JSONArray) firstElement.get("legs");

方法的確切名稱可能有所不同:那里有數十個JSON庫,您沒有告訴您使用的是哪個。

JSONArray對象具有函數getJSONObject(int index)

您可以通過編寫一個簡單的for循環來獲取所有JSONObjects

JSONArray messages = (JSONArray) jObject.get("routes");
for(int n = 0; n < messages.length(); n++)
{
    JSONObject object = messages.getJSONObject(n);
    JSONArray legs = (JSONArray) object .get("legs");
    // do your stuff....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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