JSON解析器-jackson-java对象转json
Java对象转JSON
1.使用步骤:
1.导入jackson的相关jar包
2.创建Jackson核心对象 ObjectMapper
3.调用ObjectMapper的相关方法进行转换
1.转换方法:
writeValue(参数1,obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
writeValueAsString(obj):将对象转为json字符串
Person类
package com.example.day22_ajax_json.web.domain; import java.util.Date; public class Person { private String name; private int age; private String gender; //@JsonIgnore // 忽略该属性 @JsonFormat(pattern = "yyyy-MM-dd") private Date birthday; public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } 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; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + '}'; } }
JacksonTest测试类
package com.example.day22_ajax_json.web.test; import com.example.day22_ajax_json.web.domain.Person; import org.testng.annotations.Test; import java.io.FileWriter; 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(); // 3.转换 /* 转换方法: writeValue(参数1,obj): 参数1: File:将obj对象转换为JSON字符串,并保存到指定的文件中 Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中 OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中 writeValueAsString(obj):将对象转为json字符串 */ String json = mapper.writeValueAsString(p); //{"name":"张三","age":23,"gender":"男"} 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); } }
JSON解析器-jackson-java对象转json-注解
注解:
1.@Jsonlgnore:排除属性。
2.@JsonFormat:属性值得格式化
@JsonFormat(pattern = "yyyy-MM-dd")
JacksonTest测试类
@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); }
JSON解析器-Jackson-java对象转json-List&Map
复杂java对象转换
1.List:数组
2.Map:对象格式一致
JacksonTest测试类
@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对象 HashMap<String, Object> map = new HashMap<>(); map.put("name","张三"); map.put("age",23); map.put("gender","男"); // 2.转换 ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(map); System.out.println(json); }
JSON解析器-jackson-json转java对象
JSON转为Java对象
1.导入jackson的相关jar包
2.创建Jackson核心对象 ObjectMapper
3.调用ObjectMapper的相关方法进行替换
1.readValue(json字符串数据,class)
JacksonTest测试类
// 演示 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 person = mapper.readValue(json,Person.class); System.out.println(person); }标签:java,对象,JSON,Person,json,new,public From: https://www.cnblogs.com/wsfj/p/17138027.html