簡體   English   中英

如何解析以下JSON數組?

[英]How to parse the following JSON array?

我很難弄清楚如何解析以下JSON(動態):

[{
"existingData": [
  0,
  0
],
"guestId": {
  "__type": "Pointer",
  "objectId": "EB1rr6Lqtp"
},
"listingAddressGeopoint": {
  "__type": "GeoPoint",
  "latitude": 36.002702,
  "longitude": -78.90682099999998
},
"numberOfListingImages": 1,
"preferredGender": "\"Female\"",
"urlOfListingBeds": [
  "https://xyz.image0.jpg"
],
"urlOfPrimaryImage": null,
"createdAt": "2015-09-09T14:54:36.139Z",
"updatedAt": "2015-09-15T14:46:41.988Z",
"user": {
  "createdAt": "2015-09-09T14:54:34.841Z",
  "updatedAt": "2015-09-09T14:54:34.841Z"
   }
}]

問題是有時數據不是從existingData開始previuosData 如何獲取Some對象列表中的urlOfListingBeds數組?

模型類

public class Image {
    public List<String> urlOfListingBeds;
}

編輯1

我嘗試通過以下代碼訪問它,但它引發了錯誤

 for (int i = 0; i < rjson.size(); i++) {
        rjson.getAsJsonObject(i);
    }

其中rjson是JsonArray

通過調用getAsJsonArray()從json對象獲取JsonArray。 通過調用JsonArray#iterator創建一個迭代器,並遍歷每個JsonElement,並通過調用JsonElement#getAsJsonObject()獲得JsonObject

擁有JsonObject ,您將找到urlOfListingBeds

碼:

JsonArray array= rjson.getAsJsonArray();
Iterator iterator = array.iterator();
List<String> urlOfListingBeds = new ArrayList<String>();
while(iterator.hasNext()){
    JsonElement jsonElement = (JsonElement)iterator.next();
    JsonObject jsonObject = jsonElement.getAsJsonObject();
    JsonArray urlOfListingBed = jsonObject.getAsJsonArray("urlOfListingBeds");
    if(urlOfListingBed!=null){
        Iterator iter = urlOfListingBed.iterator();
        while(iter.hasNext()){
            JsonElement jsonElementChild = (JsonElement)iter.next();
            if(jsonElementChild!=null)
                urlOfListingBeds.add(jsonElement.getAsString());
        }
    }
}

暫無
暫無

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

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