使用GSON解析JSON

时间:2013-07-27 12:08:57

标签: android json gson

如何使用GSON Library解析此JSON。

[
{
    "id": "1",
    "title": "None"
},
{
    "id": "2",
    "title": "Burlesque"
},
{
    "id": "3",
    "title": "Emo"
},
{
    "id": "4",
    "title": "Goth"
}
]

我试过这样做

public class EventEntity{

    @SerializedName("id")
    public String id;

    @SerializedName("title")
    public String title;



    public String get_id() {
        return this.id;
    }

    public String get_title() {
        return this.title;
    }
}

JSONArray jArr = new JSONArray(result);
            //JSONObject jObj = new JSONObject(result);
            Log.d("GetEventTypes", jArr.toString());                

            EventEntity[] enums = gson.fromJson(result, EventEntity[].class);
            for(int x = 0; x < enums.length; x++){                  
                String id = enums[x].get_id().toString();
            }

到目前为止,我可以使用get_id方法获取id,但我似乎无法将其分配给字符串id。什么是正确的方法?

1 个答案:

答案 0 :(得分:4)

您的班级EventEntity是正确的,但为了解析JSON,您最好这样做:

Gson gson = new Gson();
Type listType = new TypeToken<List<EventEntity>>() {}.getType();
List<EventEntity> data = gson.fromJson(result, listType);

然后,您将List所有EventEntity个对象放入变量data,这样您就可以使用以下内容访问这些值:

String id = data.get(i).get_id();
String title = data.get(i).get_title();