对象与JSON的相互转换示例

2 篇文章 0 订阅

在maven项目里,首先需要加入如下的依赖文件:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.5</version>
</dependency>

对象与JSON的相互转换

package com.bean;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

import org.junit.Test;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

/**
 * 对象与JSON相互转换
 *
 */
public class PersonToJsonTest {
	// JSONl转Person对象,反射方式
	@Test
	public void testJsonToPerson() {
		String json = "{\"name\":\"李四\",\"age\":\"30\"}";
		Gson gson = new Gson();
		Person person = gson.fromJson(json, Person.class);
		System.out.println(person);
		// 反射的三种方式:
		// 1、就对象的.class属性
		// 2、创建对象,然后调用对象的getClass()方法
		// 3、使用Class对象中的forName()方法(最常用的一种方式)
	}
	
	// JSONl转Person对象,普通方式
	@Test
	public void testPersonToJson() {
		Person person = new Person();
		person.setAge(28);
		person.setName("王麻子");
		
		Gson gson = new Gson();
		String json = gson.toJson(person);
		System.out.println(json);
	}
	
	// Person对象集合转JSONl
	@Test
	public void testPersonsToJson() {
		List<Person> persons = new ArrayList<>();
		persons.add(new Person("张三",18));
		persons.add(new Person("李四",19));
		persons.add(new Person("王五",20));
		
		String json = new Gson().toJson(persons);
		System.out.println(json);
	}
	
	// JSONl转Person对象集合
	@Test
	public void testJsonToPersons() {
		String json = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":19},{\"name\":\"王五\",\"age\":20}]";
		List<Person> persons = new Gson().fromJson(json, new TypeToken<List<Person>>(){}.getType());
		System.out.println(persons);
	}	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值