[
{
"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;
如此