Gson-基本数据绑定

数据绑定API,用于使用属性访问器或使用注解将JSON与POJO(普通Java对象)进行转换。它有两种类型。

  • 基本数据绑定:在Map,List,String,数值,布尔值和NULL对象之间来回转换JSON。
  • 对象数据绑定:将JSON与任何Java类型之间相互转换。

1 基本数据绑定

基本数据绑定是指将JSON映射到Java基本数据类型和集合类型(List、Map等)。Gson提供了各种内置适配器,可用于对基本数据类型进行序列化或者反序列化。

2 基本数据绑定的示例

2.1 编写核心类

MainApp:

package com.yiidian.gson;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.*;
import java.util.Arrays;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class MainApp {

    public static void main(String args[]) {

        Gson gson = new Gson();
        String name = "Mahesh Kumar";
        long rollNo = 1;
        boolean verified = false;
        int[] marks = {100,90,85};

        //序列化
        System.out.println("{");
        System.out.println("name: " + gson.toJson(name) +",");
        System.out.println("rollNo: " + gson.toJson(rollNo) +",");
        System.out.println("verified: " + gson.toJson(verified) +",");
        System.out.println("marks:" + gson.toJson(marks));
        System.out.println("}");

        //反序列化
        name = gson.fromJson("\"Mahesh Kumar\"", String.class);
        rollNo = gson.fromJson("1", Long.class);
        verified = gson.fromJson("false", Boolean.class);
        marks = gson.fromJson("[100,90,85]", int[].class);

        System.out.println("name: " + name);
        System.out.println("rollNo: " + rollNo);
        System.out.println("verified: " +verified);
        System.out.println("marks:" + Arrays.toString(marks));
    }
}

2.2 运行测试