Jackson也被称为JSON for Java,已经成为事实上的JSON数据处理的标准实现。
Jackson提供了一组工具,用以处理JSON数据,当前最新版本为28-Mar-2018发布的2.9.5。
Jackson的标准设计思路是首先构造JsonFactory对象,然后生成JsonParser对象以读取JSON数据并转换为Java对象,或者生成JsonGenerator对象以将Java对象转换为JSON数据并写入文件等。
除此之外,Jackson的data-binding机制还提供了更灵活的ObjectMapper对象,能够方便地在JSON数据与Java对象之间进行映射。ObjectMapper对象的主要方法如下:
- readValue(sourceData, targetClass.class)
将JSON数据映射为Java对象
- writeValue(new File("result.json"), mySourceObject);
将Java对象转换为JSON数据写入到文件result.json
- writeValueAsString(mySourceObject);
将Java对象转换为JSON格式的字符串
Jackson的jackson-annotations暂不在这里进行讨论。
1. 将JSON数据转换为Java对象,利用JsonParser
1) 方法一:JsonParser解析数据流(推荐)
JsonFactory factory = new JsonFactory();
JsonParser jp = jsonFactory.createJsonParser(read_source_file); // or URL, Stream, Reader, String, byte[]
if (jp.nextToken() != JsonTok