我是 JSON 新手,我真的很难用 Java 中的 GSON 解析这个布局
{"time_entries":
[
{"hours":1.0,
"id":311,
"created_on":"2012-11-02T14:53:38Z",
"user":{"id":7,"name":"blah"},
"issue":{"id":266},
"activity":{"id":10,"name":"blah"},
"updated_on":"2012-11-02T14:53:38Z",
"comments":"blah",
"spent_on":"2012-11-02",
"project":{"id":10,"name":"blah"}},
{"hours":6.0,
"id":310,
"created_on":"2012-11-02T13:49:24Z",
"user":{"id":4,"name":"blah"},
"issue":{"id":258},
"activity":{"id":9,"name":"blah"},
"updated_on":"2012-11-02T13:49:24Z",
"comments":"blah",
"spent_on":"2012-11-02",
"project":{"id":11,"name":"blah"
}}
],
"offset":0,
"limit":2,
"total_count":306
}
如果它有帮助,那就是Redmine API 为您提供时间条目的输出。 我正在努力理解一些基本的 JSON 概念,如对象和数组,但我无法找到一个布局与此类似的示例。
在使用我读过的教程时,我主要担心的是多个 ID 字段会混淆。
解析这个而不会让自己陷入困境的最佳方法是什么?
我不打算使用 Gson,我很乐意使用 Jackson 或内置库的解决方案。最终目标是 Android 实现,所以我更喜欢使用序列化。
谢谢
编辑:
我对“对象模型”的尝试
public class TimeResponse {
public List<Time_Entry> time_entries;
@SerializedName("hours")
public String hours;
@SerializedName("id")
public int id;
@SerializedName("created_on")
public String created_on;
@SerializedName("name")
public String name;
@SerializedName("updated_on")
public int updated_on;
public int page;
@SerializedName("comments")
public double comments;
@SerializedName("spent_on")
public String spent_on;
@SerializedName("offset")
public String offset;
@SerializedName("limit")
public String limit;
@SerializedName("total_count")
public String total_count;
}
我不确定我应该为我的结果列表写什么(如果我需要的话)并且我只声明了一次 id 和 name 字符串,尽管它被多次使用?
我知道我不应该在我的时间里使用字符串我正在研究小时字段实际包含的内容。我相信本教程有点过时了,因为最后三个字段现在在 Twitter API 中的表示方式不同。