0

我有这个字符串是从应用引擎数据存储上的“ContactInfo”实体中提取的,并且在字符串中它包含每种类型的所有子项。任何人都对如何解析或以某种有序的方式组织它有任何好的想法。我需要它为每个条目一起显示名字、姓氏、地址等,并为每个人单独显示一个。

这是字符串记录的内容:

08-30 17:22:03.802: W/apples(18160): {"items":[{"description":"payment confirmed","emailAddress":"abc@aqw.com","id":"Fri Aug 30 17:20:35 EDT 2013","nameFirst":"Bill","nameLast":"Sanders","phone":"5555555555","state":"KS","streetAddress":"123 Rick Dr","zipCode":"44444","kind":"contactinfoendpoint#resourcesItem"},{"description":"payment confirmed","emailAddress":"qwe@msn.com","id":"Fri Aug 30 17:21:37 EDT 2013","nameFirst":"Frank","nameLast":"Lloyd","phone":"5554567896","state":"KY","streetAddress":"999 Rock St","zipCode":"44555","kind":"contactinfoendpoint#resourcesItem"}],"kind":"contactinfoendpoint#resources","etag":"\"NiDXI3T89oRrAPGJAhgGQje1Z0w/z0W4p01mjHc5cNgcOt3Kb_1xo8E\""}
4

2 回答 2

4

您发布的字符串是一个 JSON 对象。

因此,您可以使用JSONObject 类对其进行解析,将其转换为对象,并以更舒适的方式访问其数据。

JSONObject jObject = new JSONObject(myString);

还要检查 GSON 或 Jackson,它们是第三方 JSON 解析器

于 2013-08-30T21:33:42.350 回答
2

这是一个有效的 JSON 对象。您可以使用内置的 JSON 解析器提取所需的字段,如下所示:

JSONObject json = new JSONObject(yourString);
JSONArray items = json.getJSONArray("items");
for (int i = 0; i < items.length(); i++) {
    String firstName = items.getJSONObject(i).getString("nameFirst");
    String lastName = items.getJSONObject(i).getString("nameLast");
}

要在列表中显示它,您需要开发自己的适配器。例如,它可以获取items数组并将其用于生成单元格。但是对于 JSON 数据的可视化并没有通用的解决方案。(纯文本除外。)

于 2013-08-30T21:38:01.257 回答