JSON在服务器端的使用

Test

 1 package atsyc.test;
 2 
 3 import atsyc.pojo.Dog;
 4 import atsyc.pojo.Person;
 5 import com.fasterxml.jackson.core.JsonProcessingException;
 6 import com.fasterxml.jackson.databind.ObjectMapper;
 7 import org.junit.Test;
 8 
 9 import java.util.ArrayList;
10 import java.util.HashMap;
11 import java.util.List;
12 import java.util.Map;
13 
14 public class TestJson {
15     @Test
16     public void testWriteJson() throws JsonProcessingException {
17         //实例化Person对象,将Person对象转换为JSON串
18         Dog dog = new Dog("多多");
19         Person person = new Person("茶茶",20,dog);
20 
21         //将Person对象转换成一个字符串 Jackson
22         ObjectMapper objectMapper = new ObjectMapper();
23         String personstr = objectMapper.writeValueAsString(person);
24         System.out.println(personstr);
25     }
26 
27     @Test
28     public void testReadJson() throws JsonProcessingException {
29         String personstr = "{\"name\":\"茶茶\",\"age\":20,\"dog\":{\"name\":\"多多\"}}";
30         ObjectMapper objectMapper= new ObjectMapper();
31         Person person = objectMapper.readValue(personstr,Person.class);
32         System.out.println(person);
33     }
34 
35     //map集合和JSON串转换
36     @Test
37     public void testMapJson() throws JsonProcessingException {
38         Map data = new HashMap<>();
39         data.put("a","valuea");
40         data.put("b","valueb");
41         ObjectMapper objectMapper = new ObjectMapper();
42         String s = objectMapper.writeValueAsString(data);
43         System.out.println(s);
44     }
45 
46     //list array转换问题
47     @Test
48     public void tesListJson() throws JsonProcessingException {
49 //        List data = new ArrayList();
50 //        data.add("a");
51 //        data.add("b");
52 //        data.add("c");
53 //        String[] data = {"a","b","c"};
54         Dog dog = new Dog("多多");
55         Person person = new Person("茶茶",20,dog);
56         List data = new ArrayList();
57         data.add(person);
58 
59         ObjectMapper objectMapper = new ObjectMapper();
60         String s = objectMapper.writeValueAsString(data);
61         System.out.println(s);
62     }
63 
64 }

Dog类

 1 package atsyc.pojo;
 2 
 3 public class Dog {
 4     private String name;
 5 
 6     public Dog(){
 7 
 8     }
 9 
10     public Dog(String name){
11         this.name = name;
12     }
13 
14     public String getName() {
15         return name;
16     }
17 
18     public void setName(String name) {
19         this.name = name;
20     }
21 }

Person类

 1 package atsyc.pojo;
 2 
 3 import java.util.Objects;
 4 
 5 public class Person {
 6     private String name;
 7     private Integer age;
 8     private Dog dog;
 9 
10     @Override
11     public boolean equals(Object o) {
12         if (this == o) return true;
13         if (o == null || getClass() != o.getClass()) return false;
14         Person person = (Person) o;
15         return Objects.equals(name, person.name)&&Objects.equals(age, person.age)&&Objects.equals(dog, person.dog);
16     }
17     @Override
18     public int hashCode() {
19         return Objects.hash(name,age,dog);
20     }
21 
22     public Person() {
23     }
24 
25     public Person(String name, Integer age, Dog dog) {
26         this.name = name;
27         this.age = age;
28         this.dog = dog;
29     }
30 
31     public String getName() {
32         return name;
33     }
34 
35     public void setName(String name) {
36         this.name = name;
37     }
38 
39     public Integer getAge() {
40         return age;
41     }
42 
43     public void setAge(Integer age) {
44         this.age = age;
45     }
46 
47     public Dog getDog() {
48         return dog;
49     }
50 
51     public void setDog(Dog dog) {
52         this.dog = dog;
53     }
54 }

 

posted @ 2024-03-18 20:25  白茶花约  阅读(37)  评论(0)    收藏  举报