我有来自JSON的以下数据
{
"MenuName": "starter dish",
"SubMenu": [
"pizza dish1",
"pizza dish2"
],
"Price": [
"100",
"110"
]
},
从这里我可以轻松地从“Menuname
”键获取数据作为入门菜,但是当我从“Submenu
”获取数据时,我得到整个字符串为["pizza dish1", "pizza dish2"]
。
请建议我区分pizza dish1 and pizza dish2
答案 0 :(得分:4)
Submenu
和Price
不是字符串JSONArray
因此您需要使用for-loop
来获取Submenu
JSONArray
中的所有值为:
JSONArray jsonsubmenu=yourjsonobject.getJSONArray("Submenu");
for(int i=0;i < jsonsubmenu.length();i++){
// get all values from jsonsubmenu JSONArray..
String str_value=jsonsubmenu.optString(i);
....
}
答案 1 :(得分:2)
试试这个
for (int i = 0; i < jsonArray.length(); i++) {
jsonArray.getJSONObject(i).getInt("SubMenu");
}
答案 2 :(得分:2)
您可以使用this link为您的回复创建POGO课程。它会自动为您的回复生成类。
使用Google GSON库来解析您的回复。
或者你可以简单地创建一个JSON数组或对象来解析它。在您的情况下,它是JSON对象或JSON数组。
答案 3 :(得分:0)
你好,在那个senarerio你必须使用
JSONArray _submenu = object.getJSONArray("SubMenu");
for (int i = 0; i < _submenu.length(); i++) {
String text = _submenu.getString(i);
}
JSONArray _price = object.getJSONArray("Price");
for (int i = 0; i < _price.length(); i++) {
String text = _price.getString(i);
}
答案 4 :(得分:0)
您可以检索数组值并将其存储在string []中,并根据需要使用它们。即,如下..
try {
JSONObject jObject = new JSONObject(jsonString);
JSONArray jSubmenu = jObject.getJSONArray("SubMenu");
subMenu = new String[jSubmenu.length()];
for (int i = 0; i < subMenu.length; i++) {
subMenu[i] = jSubmenu.getString(i);
}
JSONArray jPrice = jObject.getJSONArray("Price");
price = new String[jPrice.length()];
for (int i = 0; i < price.length; i++) {
price[i] = jPrice.getString(i);
}
} catch (Exception e) {
// TODO: handle exception
}
答案 5 :(得分:0)