0

我有来自 JSON 的以下数据

{
        "MenuName": "starter dish",
        "SubMenu": [
            "pizza dish1",
            "pizza dish2"
        ],
        "Price": [
            "100",
            "110"
        ]
    },

从这里我可以轻松地从“ Menuname”键获取数据作为开胃菜,但是当我从“ Submenu”获取数据时,我得到整个字符串为["pizza dish1", "pizza dish2"].

请建议我区分两者的方法pizza dish1 and pizza dish2

4

6 回答 6

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);
      ....
   }
于 2013-05-30T06:27:15.840 回答
2

试试这个

          for (int i = 0; i < jsonArray.length(); i++) {
             jsonArray.getJSONObject(i).getInt("SubMenu");
             }
于 2013-05-30T06:27:36.590 回答
2

您可以使用此链接为您的响应创建 POGO 类。它将自动为您的响应生成类。

使用 google GSON库来解析您的响应。

或者您可以简单地创建一个 JSON 数组或对象来解析它。在您的情况下,它是 JSON 对象或 JSON 数组。

于 2013-05-30T06:35:00.063 回答
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);
        }
于 2013-05-30T06:27:41.367 回答
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
        }
于 2013-05-30T07:06:32.043 回答
0

只是简单地说一下-继续阅读并使用 GSON。

对于简单的小工作,我发现它是最好的。对于复杂或长结构来说不是最快的,但在开发方面真的很快。

这是链接:google-gson

于 2013-05-30T08:16:41.377 回答