Jackson 读写 JSON

– Start

ObjectMapper 提供了下面的 readValue 方法,帮助我们很方便的从不同的数据源读取对象。

readValue(String src, ...)
readValue(File src, ...)
readValue(URL src, ...)
readValue(InputStream src, ...)
readValue(DataInput src, ...)
readValue(Reader src, ...)
readValue(byte[] src, ...)

ObjectMapper 也提供了下面的 writeValue 方法,帮助我们很方便的将对象输出到不同的目的地。

writeValueAsString(...)
writeValue(File desc, ...)
writeValue(File desc, ...)
writeValue(OutSteam desc, ...)
writeValue(DataOutput desc, ...)
writeValue(Writer desc, ...)
writeValueAsBytes(...)

我们还可以读取 JSON 到数组(Array),列表(List)和映射(Map)中,下面是三个简答的例子。

package shangbo.jackson.demo2;

import com.fasterxml.jackson.databind.ObjectMapper;

public class App {
	public static void main(String[] args) throws Exception {
		// 实例化 ObjectMapper 对象
		ObjectMapper objectMapper = new ObjectMapper();

		// json 消息
		String json = "[{\"firstname\":\"Bo\",\"lastname\":\"Shang\"}, {\"firstname\":\"San\",\"lastname\":\"Zhang\"}]";

		// 将 json 转成数组
		Person[] people = objectMapper.readValue(json, Person[].class);
		for(Person p: people) {
			System.out.println(p);
		}
	}
}
package shangbo.jackson.demo3;

import java.util.List;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

public class App {
	public static void main(String[] args) throws Exception {
		// 实例化 ObjectMapper 对象
		ObjectMapper objectMapper = new ObjectMapper();

		// json 消息
		String json = "[{\"firstname\":\"Bo\",\"lastname\":\"Shang\"}, {\"firstname\":\"San\",\"lastname\":\"Zhang\"}]";

		// 将 json 转成列表
		List<Person> people = objectMapper.readValue(json, new TypeReference<List<Person>>(){});
		for(Person p: people) {
			System.out.println(p);
		}
	}
}
package shangbo.jackson.demo4;

import java.util.Map;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

public class App {
	public static void main(String[] args) throws Exception {
		// 实例化 ObjectMapper 对象
		ObjectMapper objectMapper = new ObjectMapper();

		// json 消息
		String json = "{\"firstname\":\"Bo\",\"lastname\":\"Shang\"}";

		// 将 json 转成映射
		Map<String, Object> map = objectMapper.readValue(json, new TypeReference<Map<String, Object>>(){});
		System.out.println(map);
	}
}

– 更多参见:Jackson 精萃
– 声 明:转载请注明出处
– Last Updated on 2019-05-25
– Written by ShangBo on 2019-05-25
– End

上一篇:利用ajax与echarts实现动态展示柱状图


下一篇:Java使用ObjectMapper做数据转换的常用工具类实现