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]]
相关推荐
在解析JSON之前,我们需要根据JSON的结构创建对应的Java类。假设我们有以下JSON数据: ```json { "users": [ { "name": "张三", "age": 25, "address": { "city": "北京", "country": "中国" } }, { ...
在本文中,我们将深入探讨如何使用GSON解析Json数据信息以及生成Json格式的数据。 ### 1. Gson库的引入 在Java项目中,首先需要引入Gson库。在给定的文件列表中,我们看到了`gson-2.2.4.jar`,这正是Gson的二进制...
在这个例子中,我们首先创建一个`JsonParser`对象,然后用它解析JSON字符串得到一个`JsonObject`。由于JSON对象的键是动态的,我们使用`entrySet()`方法遍历`JsonObject`的所有键值对,获取每个动态key及其对应的值...
本资源"google gson.jar (Java解析json jar包).rar_Gson解析json_currentql2_googl"是针对Java开发者设计的,它包含了Gson库的jar包,版本为2.8.0,方便进行JSON解析操作。 Gson库的核心功能在于它提供了一种简单而...
在这个例子中,`fromJson()`方法接收两个参数:一个是JSON字符串,另一个是目标类型(这里是`Video.class`)。这样,Gson就能根据JSON数据创建一个新的`Video`对象。 在实际项目中,我们可能需要处理更复杂的数据...
2. **Gson解析JSON字符串到Java对象** 反过来,如果我们有一个JSON字符串,我们可以使用Gson的`fromJson()`方法将其解析成对应的Java对象: ```java String jsonString = "{\"name\":\"John\",\"age\":30}"; ...
【Gson解析JSON数据】 Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它可以将任何Java对象转换为它的JSON表示形式,反之亦然。在处理JSON数据时,我们经常遇到两种常见的数据结构:...
本文将详细讲解如何使用Gson解析JSON数据。 首先,我们需要了解JSON的基本概念。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它的数据结构主要...
下面我们将详细探讨如何使用Gson来解析JSON数据,特别是处理JSON数组的情况。 首先,我们需要在项目中引入Gson库。如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
以一个具体的例子来展示如何使用GSON解析复杂的JSON数组。假设我们有一个包含多首歌曲信息的JSON数组,如下所示: ```json { "song_list": [ { "artist_id": "88", "language": "国语", "pic_big": ...
3. **解析JSON字符串到Java对象** 反之,若要将JSON字符串转换回Java对象,同样简单: ```java User user = gson.fromJson(json, User.class); ``` **二、Json-lib库** Json-lib是另一个常用的Java JSON处理库...
反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private ...
在本例中,我们将深入探讨如何使用Gson库进行JSON解析。 首先,我们需要在项目中引入Gson库。如果你的项目是Maven或Gradle项目,可以在pom.xml或build.gradle文件中添加对应的依赖。对于Maven项目,添加如下依赖: ...
例如,上面的例子展示了用户列表的 JSON 表示: ```json [ { "UserID": 11, "Name": { "FirstName": "Truly", "LastName": "Zhu" }, "Email": "zhuleipro@hotmail.com" }, { "UserID": 12, "Name": { ...
**标题:** 谷歌GSON - 解析JSON(Demo) **正文:** 在Android开发中,数据交换经常涉及到JSON格式,而GSON库是Google提供的一个强大的JSON处理库,它使得Java对象与JSON数据之间的转换变得极其简单。本篇文章将...
在这个例子中,我们创建了一个`Person`对象,然后使用Gson的`toJson()`方法将其转换为JSON字符串。接着,我们通过`fromJson()`方法将JSON字符串解析回`Person`对象。 此外,压缩包中还有一个名为"图片4.png"的文件...
使用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) { ...
- `JsonParser`:Gson提供了一个JsonParser类,它可以解析JSON文本,返回一个JsonElement,这是所有JSON结构的基本表示。 3. **JSON生成** - `Gson.fromJson()`:这个方法可以将JSON字符串反序列化为Java对象。...
获取到JSON字符串后,使用Gson解析成Java对象,然后展示在UI上。 六、总结 理解和掌握JSON以及Gson在Android中的使用是开发过程中的重要技能。通过Gson库,我们能够轻松地处理JSON数据,无论是从网络接收,还是...
在这个例子中,Gson库默认使用UTF-8编码,因此在处理中文字符时通常不会出现问题。 总之,处理JSON操作中的中文乱码问题,关键在于确保数据的编码和解码过程中使用了UTF-8。在前端,jQuery的`$.getJSON`已经做了很...