JAVA Gson的使用

简介: JAVA Gson的使用
<dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.8.2</version>
</dependency>


对数据的操作:


import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import static jdk.nashorn.internal.objects.Global.print;
/**
 * @Author : JCccc
 * @CreateTime : 2018-11-27
 * @Description :
 * @Point: Keep a good mood
 **/
public class testMain {
    public static void main(String[] args) {
     //手动创的一个实体类, 里面字段全是String类型
        User userTest=new User();
        userTest.setName("joke");
        userTest.setAge("16岁");
        userTest.setHeight("60Kg");
        userTest.setSex("男");
        Gson gson=new Gson();
        String jsonStr=gson.toJson(userTest,User.class);
        System.out.println("对象转JSON---"+jsonStr);
        User userTestNew=gson.fromJson(jsonStr,User.class);
        System.out.println("JSON转对象---"+userTestNew.toString());
       Map map=new LinkedHashMap();
       map.put("name","merry");
       map.put("age","17岁");
       map.put("height","62Kg");
       map.put("sex","女");
       String mapJsonStr=gson.toJson(map);
        System.out.println("map转JSON---"+mapJsonStr);
        List<User> userList = new ArrayList<>();
        userList.add(userTest);
       // System.out.println(userList.toString());
        String listJsonStr=gson.toJson(userList);
        System.out.println("list转JSON---"+listJsonStr);
        List<User> retList = gson.fromJson(listJsonStr,new TypeToken<List<User>>(){}.getType());
        System.out.println("listJSON转list---"+retList);
//报错
//        List<User> retList1 = gson.fromJson(mapJsonStr,new TypeToken<List<User>>(){}.getType());
//        System.out.println("mapJSON转list---"+retList1);
//报错
        /*List<User> retList2 = gson.fromJson(jsonStr,new TypeToken<List<User>>(){}.getType());
        System.out.println("对象JSON转list---"+retList2);*/
    }
}


运行结果:


对象转JSON---{"name":"joke","age":"16岁","height":"60Kg","sex":"男"}

map转JSON---{"name":"merry","age":"17岁","height":"62Kg","sex":"女"}

JSON转对象---User{name='merry', age='17岁', height='62Kg', sex='女'}

list转JSON---[{"name":"joke","age":"16岁","height":"60Kg","sex":"男"}]

listJSON转list---[User{name='joke', age='16岁', height='60Kg', sex='男'}]


好了,小记到此。


相关文章
|
4天前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
在Java中处理JSON数据:Jackson与Gson库比较
|
5月前
|
JSON 安全 JavaScript
Java一分钟之-JSON处理:Gson与Jackson库
本文对比介绍了Java中常用的两个JSON库Gson和Jackson。Gson以其简洁易用和自动序列化/反序列化功能受到青睐,而Jackson则以优异性能和丰富功能(如字段忽略、日期格式化)著称。文中通过代码示例展示了两者的基本用法,并讨论了常见问题及解决策略,包括时间格式处理、循环引用和类型匹配。在实际应用中,应根据性能需求、安全性和版本兼容性选择合适的库,并遵循最佳实践。
140 0
java202303java学习笔记第二十六天-深克隆4gson包
java202303java学习笔记第二十六天-深克隆4gson包
38 0
|
JSON Java 数据格式
Java:Gson一个java对象转json对象转换的库
Java:Gson一个java对象转json对象转换的库
174 0
|
JSON 搜索推荐 Java
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!(2)
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!
258 0
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!(2)
|
JSON 安全 Ubuntu
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!(1)
Gson:GitHub 标星 18K 的 JSON 解析器,Google 出品的 Java JSON 解析器,强烈推荐!
184 0
|
JSON Java Android开发
Gson把Java POJO和Json数据字符串之间相互转换
Gson把Java POJO和Json数据字符串之间相互转换 例如: POJO pojo = new POJO(); pojo.
1624 0
|
JSON Java 数据格式
Java用Gson按照键值key排序json所有节点
Java用Gson按照键值key排序json所有节点
4484 0
|
JSON Java 数据格式
Java用Gson遍历json所有节点
Java用Gson遍历json所有节点
2914 0