JavaWeb 之 JSON解析与转换

一、使用 Gson 解析

   GSON 是 Google提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库,可以快速的将一个 Json 字符转成一个 Java 对象,或者将一个 Java 对象转化为 Json 字符串。

    gson 在 github 上开源地址:https://github.com/google/gson

   二进制开发包下载:gson 二进制开发包下载地址:https://search.maven.org/artifact/com.google.code.gson/gson/2.8.5/jar

  1、导入 gson 依赖

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
    </dependency>

  2、JavaBean 与 json 的互转

 1     @Test
 2     public void test1() {
 3         Person person = new Person(1, "蔡晓磊");
 4         // 创建 Gson 对象实例
 5         Gson gson = new Gson();
 6 
 7         // toJson 方法可以把 java 对象转换成为 json 字符串
 8         String personStr = gson.toJson(person);
 9         System.out.println("personStr = " + personStr);
10 
11         // fromJson 把 json 字符串转换回 Java 对象
12         // 第一个参数是 json 字符串
13         // 第二个参数是转换回去的 Java 对象类型
14         Person personJson = gson.fromJson(personStr, Person.class);
15         System.out.println("personJson = " + personJson);
16     }

  3、List 和 json 的互转

 1     @Test
 2     public void test2() {
 3 
 4         List<Person> personList = new ArrayList<>();
 5 
 6         personList.add(new Person(1, "张三"));
 7         personList.add(new Person(2, "李四"));
 8 
 9         // 创建 Gson 对象实例
10         Gson gson = new Gson();
11 
12         // toJson  把 List 转换为 json 字符串
13         String personStr = gson.toJson(personList);
14         System.out.println("personStr = " + personStr);
15 
16         //List<Person> jsonList = gson.fromJson(personStr, new PersonListType().getType());
17         List<Person> jsonList = gson.fromJson(personStr, new TypeToken<List<Person>>(){}.getType());
18         System.out.println(jsonList);
19         System.out.println(jsonList.get(0));
20     }

  4、map 和 json的互转

 1     @Test
 2     public void test3() {
 3 
 4         Map<Integer, Person> map = new HashMap<>();
 5 
 6         map.put(1, new Person(1, "张三"));
 7         map.put(2, new Person(2, "李四"));
 8 
 9         // 创建 Gson 对象实例
10         Gson gson = new Gson();
11 
12         // toJson   把 map 集合转换成为 json 字符串
13         String personStr = gson.toJson(map);
14         System.out.println("personStr = " + personStr);
15 
16         //HashMap<Integer, Person> personMap = gson.fromJson(personStr, new PersonMapType().getType());
17         HashMap<Integer, Person> personMap = gson.fromJson(personStr, new TypeToken<Map<Integer, Person>>(){}.getType());
18         System.out.println(personMap);
19         System.out.println(personMap.get(1));
20     }

二、使用 Jackson 解析

  1、

  2、

  3、

  4、

  5、

三、

原文地址:https://www.cnblogs.com/niujifei/p/15151974.html