java对象转json
java对象转json
json解析器:
常见的解析器:Jsonlib,Gson,fastjson,jackson
使用步骤:
1、导入jackson的相关jar包
2、创建Jackson核心对象 ObjectMapper
3、调用ObjectMapper的相关方法进行转换
转换方法:
writeValue(参数1,obj);
参数1:
File:将obj对象转换诶JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj):将对象转为json字符串
Person对象实体类:
public class Person { private String name; private int age; private String gender; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } public Person() { } public Person(String name, int age, String gender) { this.name = name; this.age = age; this.gender = gender; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
java转json字符串
//java对象转为JSON字符串 @Test public void test1() throws Exception { //1、创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(20); p.setGender("男"); //2、创建Jackson的核心对象, ObjectMapper ObjectMapper mapper = new ObjectMapper(); //3、转换 /* 转换: 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:将数据写到文件中 // mapper.writeValue(new File("G://r.txt"),p); mapper.writeValue(new FileWriter("G://r.txt"),p); }
java对象转json—注解
@JsonIgnore:排除属性
Person类:
public class Person { private String name; private int age; private String gender; @JsonIgnore private Date birthday;
测试:
@Test public void test2() throws Exception { //1、创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(20); p.setGender("男"); p.setBirthday(new Date()); //转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(p); System.out.println(json); }
@JsonFormat:格式化属性
public class Person { private String name; private int age; private String gender; @JsonFormat(pattern = "yyyy-MM-dd") private Date birthday;
再次运行性测试方法
java对象转json—List&Map
List集合:
@Test public void test3() throws Exception { //1、创建Person对象 Person p = new Person(); p.setName("张三"); p.setAge(20); p.setGender("男"); p.setBirthday(new Date()); Person p1 = new Person(); p1.setName("张三"); p1.setAge(20); p1.setGender("男"); p1.setBirthday(new Date()); Person p2 = new Person(); p2.setName("张三"); p2.setAge(20); p2.setGender("男"); p2.setBirthday(new Date()); //创建list集合 List<Person> list = new ArrayList<>(); list.add(p); list.add(p1); list.add(p2); //转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(list); System.out.println(json); }
Map集合:
@Test public void test4() throws Exception { //1、创建Map对象 HashMap<String, Object> map = new HashMap<>(); map.put("name","张三"); map.put("age","23"); map.put("gender","男"); //转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(map); System.out.println(json); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)