如何访问作为数组的JSON元素

时间:2016-08-19 19:58:15

标签: java json gson

我的项目中有GSON库,我需要ext_id。我可以使用JSON.get(“images”)访问“images”,但是我无法进入images数组。有人可以帮我解决这个问题。

{
    "images": [{
    "attributes": {},
    "ext_id": "467152316",
    "flag_count": 0,
    "height": 2064,
    "id": "da2d2307b6b72afcfbd6eab8287fad49fce442d6",
    "platform": "Web",
    "state_name": "public",
    "type_name": "ypid",
    "user_id": 7297580,
    "user_type": "obile",
    "width": 1161,
    "verified": 1,
    "blob_media_type": "image",
    "created_at": "2016-08-19 19:29:13 +0000",
    "deleted": 0,
    "end_date": "2216-07-02 19:29:13 +0000",
    "primary": 0,
    "recurring": 0,
    "start_date": "2016-08-19 19:29:13 +0000",
    "state": 0,
    "tags": [],
    "type_id": 1,
    "updated_at": "2016-08-19 19:29:13 +0000",
    "user": "Fanta C.",
    "business": {
        "name": "Porto's Bakery",
        "ypid": "467152316",
        "listing_id": "467152316",
        "primary_collection": "food",
        "heading_code": "8004219",
        "mip_url": "/glendale-ca/mip/portos-bakery-467152316",
        "phone_number": "(818) 956-5996",
        "address": "315 N Brand Blvd",
        "heading_text": "Dessert Restaurants",
        "city": "Glendale",
        "state": "CA",
        "zip": "91203",
        "is_paid": false,
        "tier": 999,
        "source": "MDM",
        "rating_attributes": [{
            "name": "Atmosphere",
            "id": 1031
        }, {
            "name": "Food",
            "id": 1023
        }, {
            "name": "Service",
            "id": 1038
        }]
    }
}],
"count": 1

}

2 个答案:

答案 0 :(得分:1)

你可以试试这个。

public void parse(String jsonString) {
    JsonElement jelement = new JsonParser().parse(jsonString);
    JsonObject jobject = jelement.getAsJsonObject();
    JsonArray jarray = jobject.getAsJsonArray("images");
    for(int i=0;i<jarray.size();i++){
        JsonObject jsonObject = jarray.get(i).getAsJsonObject();
        String result = jsonObject.get("ext_id").toString();
        System.out.println(result);
        result = jsonObject.get("height").toString();
        System.out.println(result);
    }
}

您还可以查看here

答案 1 :(得分:0)

   JsonArray jsonArray = (JsonArray)jObject3.get("images");
   JsonObject jObject4 =(JsonObject) jsonArray.get(0);
   System.out.println(jObject4.get("ext_id"));
   System.out.println(jObject4.get("full_image_path"));