JSONArray到POJO

时间:2014-11-24 14:23:30

标签: java android json parsing

我有一个像这样的Json字符串:

[{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"},{"name":"foo","slug":"foo2","locales":["foo3"],"hostname":"foo4","region_tag":"foo5"}]

我是新来的。如何将此JSONArray解析为POJO?

1 个答案:

答案 0 :(得分:1)

解析器是用于将JSON内容标记为令牌和关联数据的对象。它是对JSON内容的最低级别的读访问权。

创建解析器的最常用方法是从外部源(文件,HTTP请求流)或缓冲数据(字符串,字节数组/缓冲区)。为此,org.codehaus.jackson.JsonFactory有大量的方法来构造解析器,例如:

JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory 
JsonParser jp = jsonFactory.createJsonParser(file); // or URL, Stream, Reader, String, byte[]

此外,如果您碰巧有ObjectMapper,还可以使用ObjectMapper.getJsonFactory()来重复使用它的工厂(因为(重新)使用JsonFactory个实例是一个性能最佳实践)。

但您也可以从其他来源创建解析器:

从版本1.3开始,您可以通过JsonNode读取根JsonParser jp = node.traverse()的内容(请参阅树模型) 从版本1.5开始,您可以将基础JSON标记缓冲到org.codehaus.jackson.util.TokenBuffer,稍后创建JsonParser以读取内容(用于重放流)。 从这些源读取JSON令牌比从文本表示中重新解析JSON内容要高效得多。

它非常简单易行。试试这个:http://www.youtube.com/watch?v=vBkuLu-ycEc 你可以从下面的链接了解更多关于杰克逊的信息 http://wiki.fasterxml.com/JacksonStreamingApi