2

如何使用 GSON 库解析这个 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。解决这个问题的正确方法是什么?

4

1 回答 1

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();
于 2013-07-27T12:31:19.390 回答