首页 > json数据中含有array返回类型的怎么解析?

json数据中含有array返回类型的怎么解析?

[

{
    "dish_dishname": "冰冻草莓牛奶",
    "dish_specdishprice": {
        "小杯": 600,
        "中杯": 800,
        "大杯": 1000,
        "超大杯": 1500,
        "情侣杯": 2000,
        "全家杯": 2500
    },
    "specname": [
        "小杯",
        "中杯",
        "大杯",
        "超大杯",
        "情侣杯",
        "全家杯"
    ],
    "specprice": [
        600,
        800,
        1000,
        1500,
        2000,
        2500
    ]
},
{
    "dish_dishname": "冰淇淋",
    "dish_specdishprice": {
        "牛肉味": 800,
        "狗屎味": 1200,
        "汽油味": 1400,
        "橡胶味": 600,
        "苦瓜味": 1000
    },
    "specname": [
        "牛肉味",
        "狗屎味",
        "汽油味",
        "橡胶味",
        "苦瓜味"
    ],
    "specprice": [
        800,
        1200,
        1400,
        600,
        1000
    ]
}

]

这种json数据怎么解析啊?有代码解释的最好,非常感谢!


话说你就不能用下gson么。。。


如果要得到specname成员的话,就这么写

private void get(String json){
        JsonArray array = new JsonParser().parse(json).getAsJsonArray();
        JsonArray specName = array.get(0).getAsJsonObject().get("specname").getAsJsonArray();
        for (JsonElement element : specName){
            //每个element都是一个specName成员
        }
    }

----------------分割线
json如果不转格式谁看着也头晕,把json格式化一下就很直观了,下面这个网站就不错。
[]内的是数组,{}类型的是对象。
http://jsonviewer.stack.hu/


JSONArray arr = new JSONArray(String对象);
                for (int i = 0; i < arr.length(); i++) {
                    JSONObject temp = (JSONObject) arr.get(i);
                    String fid = temp.getString("id");  //朋友id
                    String miaoshu = temp.getString("miaoshu");  //昵称
                    String password = temp.getString("password");
                    String username = temp.getString("username");  //登陆名
                    String zhuangtai = temp.getString("zhuangtai");
                    Map<String, String> map = new HashMap<>();
                    map.put("fid", fid);
                    map.put("miaoshu", miaoshu);
                    map.put("password", password);
                    map.put("username", username);
                    map.put("zhuangtai", zhuangtai);
                    Z.log("昵称是: " + miaoshu);
                    mapList.add(map);
                }
                list = mapList; 

如此

【热门文章】
【热门文章】