zoukankan      html  css  js  c++  java
  • Java Gson 实现 Json 数据的生成与解析

    前言

    Json 作为一种简单便捷的数据格式,可以被各种语言默认或者以插件支持。

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

    Gson

    项目地址

    说明

    • Gson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。Gson可以处理任意Java对象,包括您没有源代码的现有对象。

      有一些开源项目可以将Java对象转换为JSON。但是,大多数方法都要求您在类中放置Java批注。如果您无法访问源代码,则无法执行某些操作。大多数还不完全支持Java泛型的使用。Gson认为这两个都是非常重要的设计目标。

    功能

    • 提供简单的 toJson()fromJson() 方法,将Java对象到JSON,反之亦然
    • 允许将现有的不可修改对象与JSON相互转换
    • Java泛型的广泛支持
    • 允许对象的自定义表示
    • 支持任意复杂的对象(具有深层继承层次结构和泛型类型的广泛使用)

    导入

    • 这里只记录 Gradle 的导入方式,更多方式请看 github 项目说明。

      目前版本为:2.8.6 。

      dependencies {
        implementation 'com.google.code.gson:gson:2.8.6'
      }
      

    示例

    • 使用 Gson 你应先创建一个 JSON 对应的 Java 类。

      示例:

      public class JsonFromGson {
      	private String name;
      	private String password;
      	
      	public void setName(String name) {
      		this.name = name;
      	}
      	
      	public void setPassword(String password) {
      		this.password = password;
      	}
      	
      	public String getName() {
      		return name;
      	}
      	
      	public String getPassword() {
      		return password;
      	}
      }
      

    方法

    • Gson 主要包含两个常用的方法:toJson()fromJson()

    toJson()

    • 现有一个 JsonFromGson 类的对象,要转化为一个符合 JsonFromGson 类的 Json 字符串,示例:

      Gson gson = new Gson();
      JsonFromGson jsonFromGson = new JsonFromGson();
      jsonFromGson.setName("yogile");
      jsonFromGson.setPassword("yogilepwd");
      String getGson = gson.toJson(jsonFromGson);
      System.out.println(getGson);
      
    • 输出显示:

      {"name":"yogile","password":"yogilepwd"}
      

    fromJson()

    • 现有一个符合 JsonFromGson 类的 Json 字符串,要转化为一个 JsonFromGson 类的对象,示例:

      Gson gson = new Gson();
      String strGson = "{"name":"yogile","password":"yogilepwd"}";
      JsonFromGson jsonFromGson = new JsonFromGson();
      jsonFromGson = gson.fromJson(strGson, JsonFromGson.class);
      System.out.println("name: " + jsonFromGson.getName() + "
      password: " + jsonFromGson.getPassword());
      
    • 输出显示:

      name: yogile
      password: yogilepwd
      
  • 相关阅读:
    一个有趣的C语言问题
    PHP 管理树莓派
    JeeSite | 保存信息修改记录封装
    SQL Server学习内容(一)
    Java面试题大汇总
    Spring框架快速入门
    单例模式
    简要分析一下java中线程的生命周期
    mybatis中的高级查询
    mybatis中的分页插件
  • 原文地址:https://www.cnblogs.com/Yogile/p/13278474.html
Copyright © 2011-2022 走看看