【问题标题】:How to Parsing nested JSON object in Android using Volley and POJO Class如何使用 Volley 和 POJO 类解析 Android 中的嵌套 JSON 对象
【发布时间】:2019-02-20 06:07:46
【问题描述】:
{
  "status": "1",
  "message": "",
  "result": {
    "info": {
      "tax": "0",
      "discount": "0",
      "minimum_spend": "300",
      "delivery_charges": "0",
      "last_updated": "1 week 15 hours ago"
    },
    "items": [
      {
        "name": "Eat At Home",
        "menu_item_id": "12345",
        "menu_cat_id": "4321",
        "menu_cat_sku": "",
        "nutritions": "",
        "price": "1000",
        "currency": "USD",
        "desc": "Desription",
        "category": "Promotion",
        "image": "https://static.google.com/media/images/thumbs/343e8f41b18325a6058adc3773ed4d53.png",
        "large_image": "https://static.google.com/media/images/343e8f41b18325a6058adc3773ed4d53.png",
        "options": [],
        "discount": "",
        "weight": "",
        "sku": "",
        "status": "0",
        "brand": []
      },
      {
        "name": "Lunch Bundle",
        "menu_item_id": "4321",
        "menu_cat_id": "4321",
        "menu_cat_sku": "",
        "nutritions": "",
        "price": "1500",
        "currency": "USD",
        "desc": "Description",
        "category": "Promotion",
        "image": "https://static.google.com/media/images/thumbs/62cdde279bbc3e45b8456f040d649b32.png",
        "large_image": "https://static.google.com/media/images/62cdde279bbc3e45b8456f040d649b32.png",
        "options": [],
        "discount": "",
        "weight": "",
        "sku": "",
        "status": "0",
        "brand": []
      },

我的代码

MenuResponse menuResponse = JsonParser.getInstance().parseMenuResponse(response);


public MenuResponse parseMenuResponse(String serverResponse) throws Exception {

    MenuResponse response = null;

    if (serverResponse != null) {
        try {
            response = gson.fromJson(serverResponse, MenuResponse.class);
        } catch (JsonSyntaxException jse) {
            throw new Exception(ERROR_MESSAGE);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    return response;
}

【问题讨论】:

  • 你有什么问题吗?
  • 是的,我如何在 recyclerview 中显示子视图?
  • 子视图是什么意思,能详细点吗

标签: java android json android-volley


【解决方案1】:

试试这个。

JSONObject json = new JSONObject(response);

 String status= json.getString("status");
 JSONArray itemsArray= json.getJSONArray("items");

for (int i = 0; i < itemsArray.length(); i++) {
 JSONObject c = itemsArray.getJSONObject(i);
 String name= c.getString("name");
 //remaining data you will 
}

或者你可以使用 Retrofit 更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多