`

GSON解析JSON例子

    博客分类:
  • JSON
 
阅读更多

1.Maven Dependency

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.fool.json.gson</groupId>
	<artifactId>gson</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>GSON</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

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

		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.1</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

 

2.POJO

Person.java

package org.fool.json.gson;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

public class Person
{
	private String username;

	private String password;

	private int age;

	private String address;

	private List<String> list = new ArrayList<>();

	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public int getAge()
	{
		return age;
	}

	public void setAge(int age)
	{
		this.age = age;
	}

	public String getAddress()
	{
		return address;
	}

	public void setAddress(String address)
	{
		this.address = address;
	}

	public List<String> getList()
	{
		return list;
	}

	public void setList(List<String> list)
	{
		this.list = list;
	}

	@Override
	public String toString()
	{
		return ToStringBuilder.reflectionToString(this,
				ToStringStyle.SHORT_PREFIX_STYLE);
	}
}

 

3.JUnit Test

GsonTest.java

package org.fool.json.gson;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import org.junit.Before;
import org.junit.Test;

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

public class GsonTest
{
	private Gson gson = null;
	private Person person = null;

	@Before
	public void setUp()
	{
		gson = new GsonBuilder().create();

		person = new Person();

		person.setUsername("zhangsan");
		person.setPassword("123456");
		person.setAddress("beijing");
		person.setAge(30);

		person.getList().add("hello");
		person.getList().add("world");
		person.getList().add("Hero");
		person.getList().add("Heroine");
	}

...
}

 

toJsonTest

控制台输出通过GSON解析过的JSON格式的person数据,并存入gsonResult.json的文件中

...
    @Test
	public void toJsonTest()
	{
		gson.toJson(person, System.out);
		
		String result = gson.toJson(person);

		BufferedWriter bw = null;

		try
		{
			bw = new BufferedWriter(new FileWriter("gsonResult.json"));

			bw.write(result);

		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				bw.close();
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
		}
	}
...

 result

{"username":"zhangsan","password":"123456","age":30,"address":"beijing","list":["hello","world","Hero","Heroine"]}

 

fromJsonTest

通过GSON解析gsonResult.json文件,将JSON格式的数据转换成Person对象

...
    @Test
	public void fromJsonTest()
	{
		BufferedReader br = null;

		try
		{
			br = new BufferedReader(new FileReader("gsonResult.json"));

			Person person = gson.fromJson(br, Person.class);

			System.out.println(person);
		}
		catch (JsonSyntaxException e)
		{
			e.printStackTrace();
		}
		catch (JsonIOException e)
		{
			e.printStackTrace();
		}
		catch (FileNotFoundException e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				br.close();
			}
			catch (IOException e)
			{
				e.printStackTrace();
			}
		}
	}
...

 result

Person[username=zhangsan,password=123456,age=30,address=beijing,list=[hello, world, Hero, Heroine]]

 

分享到:
评论

相关推荐

    Gson解析复杂Json实例,超简单

    在解析JSON之前,我们需要根据JSON的结构创建对应的Java类。假设我们有以下JSON数据: ```json { "users": [ { "name": "张三", "age": 25, "address": { "city": "北京", "country": "中国" } }, { ...

    GSON解析Json数据信息

    在本文中,我们将深入探讨如何使用GSON解析Json数据信息以及生成Json格式的数据。 ### 1. Gson库的引入 在Java项目中,首先需要引入Gson库。在给定的文件列表中,我们看到了`gson-2.2.4.jar`,这正是Gson的二进制...

    Gson解析JSON中动态未知key的例程源码

    在这个例子中,我们首先创建一个`JsonParser`对象,然后用它解析JSON字符串得到一个`JsonObject`。由于JSON对象的键是动态的,我们使用`entrySet()`方法遍历`JsonObject`的所有键值对,获取每个动态key及其对应的值...

    google gson.jar(Java解析json jar包).rar_Gson解析json_currentql2_googl

    本资源"google gson.jar (Java解析json jar包).rar_Gson解析json_currentql2_googl"是针对Java开发者设计的,它包含了Gson库的jar包,版本为2.8.0,方便进行JSON解析操作。 Gson库的核心功能在于它提供了一种简单而...

    Gson处理Json格式字符串代码

    在这个例子中,`fromJson()`方法接收两个参数:一个是JSON字符串,另一个是目标类型(这里是`Video.class`)。这样,Gson就能根据JSON数据创建一个新的`Video`对象。 在实际项目中,我们可能需要处理更复杂的数据...

    Gson转json格式和解析json格式小例子

    2. **Gson解析JSON字符串到Java对象** 反过来,如果我们有一个JSON字符串,我们可以使用Gson的`fromJson()`方法将其解析成对应的Java对象: ```java String jsonString = "{\"name\":\"John\",\"age\":30}"; ...

    Gson解析(List和Map)格式json数据 - CSDN博客1

    【Gson解析JSON数据】 Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它可以将任何Java对象转换为它的JSON表示形式,反之亦然。在处理JSON数据时,我们经常遇到两种常见的数据结构:...

    Gson解析Json数据

    本文将详细讲解如何使用Gson解析JSON数据。 首先,我们需要了解JSON的基本概念。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它的数据结构主要...

    用gson解析json数据

    下面我们将详细探讨如何使用Gson来解析JSON数据,特别是处理JSON数组的情况。 首先,我们需要在项目中引入Gson库。如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    GSON解析复杂的JSON数组 - CSDN博客1

    以一个具体的例子来展示如何使用GSON解析复杂的JSON数组。假设我们有一个包含多首歌曲信息的JSON数组,如下所示: ```json { "song_list": [ { "artist_id": "88", "language": "国语", "pic_big": ...

    使用Gson和Json-lib去解析json和组装Json数据例子

    3. **解析JSON字符串到Java对象** 反之,若要将JSON字符串转换回Java对象,同样简单: ```java User user = gson.fromJson(json, User.class); ``` **二、Json-lib库** Json-lib是另一个常用的Java JSON处理库...

    利用Google Gson实现JSON字符串和对象之间相互转换

    反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private ...

    Gson解析的一个例子

    在本例中,我们将深入探讨如何使用Gson库进行JSON解析。 首先,我们需要在项目中引入Gson库。如果你的项目是Maven或Gradle项目,可以在pom.xml或build.gradle文件中添加对应的依赖。对于Maven项目,添加如下依赖: ...

    json的基本使用和使用Gson解析json.pdf

    例如,上面的例子展示了用户列表的 JSON 表示: ```json [ { "UserID": 11, "Name": { "FirstName": "Truly", "LastName": "Zhu" }, "Email": "zhuleipro@hotmail.com" }, { "UserID": 12, "Name": { ...

    谷歌GSON-解析JSON(Demo)

    **标题:** 谷歌GSON - 解析JSON(Demo) **正文:** 在Android开发中,数据交换经常涉及到JSON格式,而GSON库是Google提供的一个强大的JSON处理库,它使得Java对象与JSON数据之间的转换变得极其简单。本篇文章将...

    Gson-jsonjson

    在这个例子中,我们创建了一个`Person`对象,然后使用Gson的`toJson()`方法将其转换为JSON字符串。接着,我们通过`fromJson()`方法将JSON字符串解析回`Person`对象。 此外,压缩包中还有一个名为"图片4.png"的文件...

    java 解析 json文件 java 解析 json文件

    使用Gson解析JSON的基本步骤类似: ```java import com.google.gson.Gson; import java.io.FileReader; import java.io.IOException; public class GsonExample { public static void main(String[] args) { ...

    使用gson解析并生成json数据

    - `JsonParser`:Gson提供了一个JsonParser类,它可以解析JSON文本,返回一个JsonElement,这是所有JSON结构的基本表示。 3. **JSON生成** - `Gson.fromJson()`:这个方法可以将JSON字符串反序列化为Java对象。...

    android之json和gson数据解析最完整的代码例子(包括各种样式的json数据)

    获取到JSON字符串后,使用Gson解析成Java对象,然后展示在UI上。 六、总结 理解和掌握JSON以及Gson在Android中的使用是开发过程中的重要技能。通过Gson库,我们能够轻松地处理JSON数据,无论是从网络接收,还是...

    Json操作及中文乱码解决方案

    在这个例子中,Gson库默认使用UTF-8编码,因此在处理中文字符时通常不会出现问题。 总之,处理JSON操作中的中文乱码问题,关键在于确保数据的编码和解码过程中使用了UTF-8。在前端,jQuery的`$.getJSON`已经做了很...

Global site tag (gtag.js) - Google Analytics