java json gson_Java对象和JSON之间的相互转化(GSON)

本文介绍了如何使用Gson库在Java中进行JSON对象与Java对象的转换。首先,添加Gson的Maven依赖,然后创建一个Java POJO对象。接着,展示了`toJson()`方法将Java对象转换为JSON字符串并写入文件,以及`fromJson()`方法从JSON文件读取数据并转换回Java对象。示例代码详细展示了这两个方法的用法。
摘要由CSDN通过智能技术生成

JSON是JavaScript对象的一种标准表达形式,是一种轻量的数据交换格式。现在很多的Java应用都已经抛弃XML格式,开始使用JSON格式作为数据交换的标准。我们平时经常需要把Java对象转换为JSON格式对象,或者把JSON格式对象转换为Java对象。

本文我们展示如何使用一个JSON库:Gson,把对象转换为JSON或者是把JSON转换为对象。

Gson是一个非常好用的JSON库,我们先来学习如何使用最主要的两个方法:

toJson() --把Java对象转换为JSON格式

fromJson()--把JSON格式转换为Java对象

1.Gson依赖

对于Maven用户,可以在pom.xml添加如下依赖;如果不是Maven用户可以到Gson的官网下载。

com.google.code.gson

gson

1.7.1

2.Java POJO对象

如下,先建一个包含初始值Java的POJO对象,解析来我们用Gson来做转换。

package com.qiyadeng.core;

import java.util.ArrayList;

import java.util.List;

public class DataObject {

private int data1 = 100;

private String data2 = "hello";

private List list = new ArrayList() {

{

add("String 1");

add("String 2");

add("String 3");

}

};

//getter and setter 方法

@Override

public String toString() {

return "DataObject [data1=" + data1 + ", data2=" + data2 + ", list="

+ list + "]";

}

}

3.toJson()

把Java对象转换为JSON字符串,并且储存为file.json文件。

package com.qiyadeng.core;

import java.io.FileWriter;

import java.io.IOException;

import com.google.gson.Gson;

public class ToGsonExample {

public static void main(String[] args) {

DataObject obj = new DataObject();

Gson gson = new Gson();

// convert java object to JSON format,

// and returned as JSON formatted string

String json = gson.toJson(obj);

try {

//write converted json data to a file named "file.json"

FileWriter writer = new FileWriter("c:\temp\file.json");

writer.write(json);

writer.close();

} catch (IOException e) {

e.printStackTrace();

}

System.out.println(json);

}

}

输出结果为:

{"data1":100,"data2":"hello","list":["String 1","String 2","String 3"]}

4.fromJson()

从file.json中读取数据,并且转换为Java对象。

package com.qiyadeng.core;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import com.google.gson.Gson;

public class FromJsonExample {

public static void main(String[] args) {

Gson gson = new Gson();

try {

BufferedReader br = new BufferedReader(

new FileReader("c:\temp\file.json"));

//convert the json string back to object

DataObject obj = gson.fromJson(br, DataObject.class);

System.out.println(obj);

} catch (IOException e) {

e.printStackTrace();

}

}

}

输出结果

DataObject [data1=100, data2=hello, list=[String 1, String 2, String 3]]

完整源代码

地址:https://coding.net/u/qiyadeng/p/GsonExample/git

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值