欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java Gson 基本用法(Json解析用)

程序员文章站 2024-03-16 08:39:16
...

一般用法

  • 反序列化:解析Json
    Gson gson = new Gson();
    
    // 一般对象
    TradeInfo trade = gson.fromJson("{\"id\":18, \"value\":\"xxxx\"}", TradeInfo.class);
    System.out.println(trade.getValue());
    
    // String对象
    String str = gson.fromJson("{\"value\":\"xxxx\"}", String.class);
    System.out.println(str);
    
    // 整数对象
    int i = gson.fromJson("{\"id\":18}", int.class);
    System.out.println(i);
    
    // 数组对象
    String[] strs = gson.fromJson("[\"Android\",\"Java\",\"PHP\"]", String[].class);
    System.out.println(strs);

    // List对象,Gson提供了TypeToken来实现
    List<String> strList = gson.fromJson("[\"Android\",\"Java\",\"PHP\"]", new TypeToken<List<String>>() {}.getType());
    // TypeToken 的构造方法是protected修饰的,所以上面才会写成new TypeToken<List<String>>() {}.getType() 而不是 new TypeToken<List<String>>().getType()
  • 序列化:生成Json
    Gson gson = new Gson();
    
    // 一般对象
    TradeInfo trade = new TradeInfo(18, "xxxx");
    String jsonStr = gson.toJson(trade);
    
    // String对象
    String jsonStr = gson.toJson("xxxx");

    // 整数对象
    int jsonStr = gson.toJson(18);

依赖包

<!-- pom.xml -->
        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <!--
        	在Spring boot中已经有限定,不用设置version。
        	<version>2.2.8</version>
        -->

资料

Java 中 Gson的使用
Gson在Java中的使用实例

相关标签: Back end