我有一个像这样的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?
答案 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