加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Gson简要使用笔记

发布时间:2021-07-06 06:08:18 所属栏目:大数据 来源: https://www.jb51.cc
导读:Gson介绍: Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 ? 常用的2个方法: Gson.toJson(Object src) --将对象进行json序列化 Gson.fromJson(String json,ClassT)

Gson介绍:

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

?

常用的2个方法:

Gson.toJson(Object src)  --将对象进行json序列化

Gson.fromJson(String json,Class<T>)  --将json字符串反序列化成对象

?

实体类:

 1 @H_301_24@package com.tuzi.gson.domain;
 2 
 3 public class Student {
 4 
 5     private int id;
 6     private String name;
 7      age;
 8 
 9     public Student(int id,String name, age) {
10         super();
11         this.id =12         this.name = name;
13         this.age =14     }
15 
16      getId() {
17         return18 19 
20     void setId( id) {
21         22 23 
24     public String getName() {
25         26 27 
28     void setName(String name) {
29         30 31 
32      getAge() {
33         34 35 
36     void setAge(37         38 39 
40     @Override
41      String toString() {
42         return "Student [age=" + age + ",id=" + id + ",name=" + name + "]";
43 44 
45 }

?

测试类:

 com.tuzi.gson.test;
import java.util.ArrayList;
 4  java.util.HashMap;
 5  java.util.List;
 6  java.util.Map;
 7 
 8  com.google.gson.Gson;
 9  com.google.gson.reflect.TypeToken;
10  com.tuzi.gson.domain.Student;
11 
12  GsonTest {
13     
14     static  main(String[] args) {
15         
16         //普通对象转换成json
17         Student student1=new Student(1,"tuzi",22);
18         Gson gson=new Gson();实例化一个Gson对象
19         String info1=gson.toJson(student1);
20         System.out.println("普通对象转换成json:"+info1);
21         
22         json反序列化(info1)
23         Student student2=gson.fromJson(info1,Student.24         System.out.println("json字符串反序列化:"+student2.toString());
25         System.out.println();
26         
27         
28         
list集合(Student)对象转换成json
30         List<Student> list=new ArrayList<Student>31         Student student3=new Student(3,"xiaoming",1)">32         Student student4=new Student(4,"xiaofang",1)">33         list.add(student3);
        list.add(student4);
35         String info2=gson.toJson(list);
36         System.out.println("list集合(Student)对象转换成json:"+info2);
37         
38         json反序列化(info2)
39         List<Student> students=gson.fromJson(info2,1)">new TypeToken<List<Student>>(){}.getType());TypeToken是Google提供的一个解析Json数据的类库中一个类(任意类型)
40         System.out.println("json字符串反序列化:"+students.toString());
41 42         
43         
44         list集合(Map)对象转换成json
45         List<Map<String,Object>> list2=new ArrayList<Map<String,Object>>46         Map<String,Object> map1=new HashMap<String,Object>47         map1.put("id",548         map1.put("name","小白"49         map1.put("age",1150         
51         Map<String,Object> map2=52         map2.put("id",1)">53         map2.put("name","小黑"54         map2.put("age",1355         
56         list2.add(map1);
57         list2.add(map2);
58         
59         String info3=gson.toJson(list2);
60         System.out.println("list集合(Map)对象转换成json:"+info3.toString());
61         
62         63         List<Map<String,Object>> list4=gson.fromJson(info3,1)">new TypeToken<List<Map<String,Object>>>(){}.getType());
64         System.out.println("json字符串反序列化:"+list4.toString());
65         
66 67     
68 
69 }

?

运行效果:

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读