【问题标题】:Parsing Android JSON解析 Android JSON
【发布时间】:2014-05-02 03:37:45
【问题描述】:

我一直在尝试在我的 android 应用程序中解析以下内容,但无法弄清楚如何在分支中走得那么远。我希望能够在“myc”中获得“描述”这就是我所拥有的:

{
"status": 0,
"result": [
    {
        "id": 20,
        "object_metadata": {
            "name": "David",
            "myc": [
                {
                    "description": "Hello world"
                },
                {
                    "description": "Goodbye World"
                }
            ]
        }
    }
]

}

【问题讨论】:

  • 你也可以发布你的java代码吗?

标签: php android json parsing


【解决方案1】:
    JSONObject obj = new JSONObject(jsonstring);
    JSONArray array =  obj.getJSONArray("result").getJSONObject(0).getJSONObject("object_metadata").getJSONArray("myc");
    for (int i = 0; i < array.length(); i++) {
        String description = array.getJSONObject(i).getString("description");
    }

【讨论】:

    【解决方案2】:

    试试Google GSON。您可以创建一个 java 类(或模型),实现 getter 和 setter,并轻松获取和设置每个值。当您要在指定的 JSON 的更深结构中进行操作时,通过 JSONObject 解析 JSON 可能会令人沮丧。

    【讨论】:

      【解决方案3】:

      试试下面的代码:-

      try
      {
      
          JSONObject json = new JSONObject("ur json");
          String status = json.getString("status");
          JSONArray result = json.getJSONArray("result");
          for (int i = 0; i < result.length(); i++)
          {
              JSONObject json_result = result.getJSONObject(i);
              String id = json_result.getString("id");
              JSONObject object_metadata = json_result.getJSONObject("object_metadata");
              String name = object_metadata.getString("name");
              JSONArray myc = object_metadata.getJSONArray("myc");
              for (int j = 0; j < myc.length(); j++)
              {
                  JSONObject myc_value = myc.getJSONObject(i);
                  String description = myc_value.getString("description");
              }
          }
      }
      catch (Exception e)
      {
          // TODO: handle exception
          e.printStackTrace();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-13
        • 2014-03-18
        • 2016-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多