0

我想从 URL 解析 JSON;我的 JSON 包含以下结构:

{
    "HasError": false,
    "ErrorMessage": null,
    "IsFinal": true,
    "content":
     {
        "item":[
                   {
                       "category": "xxx"
                   },
                   {
                       "category": "yy"
                   }
               ]
     }
}

我如何阅读这个结构?一个示例或 JSON 解析器会很有帮助。

4

2 回答 2

1

试试下面这个。

String str = "{ \"HasError\": false, \"ErrorMessage\": null, \"IsFinal\": true, \"content\": { \"item\":[ { \"category\": \"xxx\" }, { \"category\": \"yy\" } ] } }";
        try {
             JSONObject jObject=new JSONObject(str);
             Log.d("HasError==", jObject.getString("HasError"));
             Log.d("ErrorMessage==", jObject.getString("ErrorMessage"));
             Log.d("IsFinal==", jObject.getString("IsFinal"));
             jObject = jObject.getJSONObject("content");
             JSONArray jArrayObject = new JSONArray(jObject.getString("item"));
             for (int i = 0; i<jArrayObject.length(); i++) {
                 Log.d("category==", jArrayObject.getJSONObject(i).getString("category").toString());
             }
        } catch (Exception e) {
        }
于 2013-09-18T07:45:00.233 回答
1

使用 Google 的 Gson。第一种方法是让您以 JSON 格式检索您收到的数据,另一种是将对象转换为 JSON 格式发送。您可以使用任何类型的对象。您可以创建一个具有所有这些参数的类,并使用该类的实例发送/接收。您只需要从 JSON 转换为字符串,使用 toString() 即可轻松完成

import com.google.gson.Gson;    


public class JSONParser
{
    private static Gson gson = new Gson();

    public static Data jsonToData(String json)
    {   
        return gson.fromJson(json, Data.class);
    }


    /**
     * Converts the object to JSON
     * @param obj object from type Object
     * @return String of JSON format
     */
    public static String objectToJson(Object obj)
    {
        Gson writer = new Gson();
        return writer.toJson(obj);
    }
}
于 2013-09-18T02:18:53.313 回答