JSON解析器Jackson_java对象转json_List&Map与Json转java对象
1.复杂java对象转换
1.List:数组
2.Map:对象格式一致
package org.example.text; import com.fasterxml.jackson.databind.ObjectMapper; import org.example.domin.Person; import org.junit.Test; import java.io.File; import java.io.FileWriter; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Map; public class JacksonTest { //java对象转为json字符串 @Test public void test1() throws Exception { //1.创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); //2.创建Jackson的核心对象 ObjectMapper ObjectMapper mapper = new ObjectMapper(); /** * 转换方法: * writeValue(参数1,Obj): * 参数1: * File:将obj对象转换为Json字符串,并保存到指定的文件中 * Writer:将obj对象转换为Json字符串,并将json数据填充到字符输出流中 * OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 * writeValueAsString(Obj):将对象转为json字符串 */ String json = mapper.writeValueAsString(p); System.out.println(json); //writeValue 将数据写到d://a.txt文件中 mapper.writeValue(new File("d//a.txt"),p); //writeValue,将数据关联到Writer中 mapper.writeValue(new FileWriter("d://b.txt"),p); } @Test public void test2() throws Exception{ //1.创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); p.setBirthday(new Date()); //2.转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(p); System.out.println(json); } @Test public void test3() throws Exception{ //1.创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(23); p.setGender("男"); p.setBirthday(new Date()); Person p1 = new Person(); p1.setName("张三"); p1.setAge(23); p1.setGender("男"); p1.setBirthday(new Date()); Person p2 = new Person(); p2.setName("张三"); p2.setAge(23); p2.setGender("男"); p2.setBirthday(new Date()); //创建List集合 ArrayList<Person> ps = new ArrayList<>(); ps.add(p); ps.add(p1); ps.add(p2); //2.转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(ps); System.out.println(json); } @Test public void test4() throws Exception{ //1.创建Map对象 Map<String,Object> map = new HashMap<String,Object>(); map.put("name","张三"); map.put("age",23); map.put("gender","男"); //2.转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(map); System.out.println(json); } }
1.JSON转为java对象
1.导入jackson的相关jar包
2.创建Jackson核心对象 ObjectMapper
3.调用ObjectMapper的相关方法进行转换
1.readValue(json字符串数据,Class)
//演示Json字符串转为java对象 @Test public void test5() throws Exception{ //1.初始化Json字符串 String json = "{\"gender\":\"男\",\"name\":\"张三\",\"age\":23}"; //2.创建一个ObjectMapper对象 ObjectMapper mapper = new ObjectMapper(); //3.转换为java对象 Person person = mapper.readValue(json, Person.class); System.out.println(person); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)