Gson是Google的开源项目(项目主页:https://code.google.com/p/google-gson/),
Gson在线帮助文档:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html
Gson包下载地址:https://google-gson.googlecode.com/files/google-gson-2.2.4-release.zip
示例:
import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; class User{ public User(String name,int age,StringBuffer sex,boolean isChild){ this.name = name; this.age = age; this.sex = sex; this.isChild = isChild; } private String name; private int age; private StringBuffer sex; private boolean isChild; public String toString(){ return "{name="+name+";age="+age+";sex="+sex+";isChild="+isChild+"}"; } public int hashCode(){ return name.hashCode()*100+age; } } public class GsonTest { public static void main(String[] args) { Gson gson = new Gson(); System.out.println("1普通的Bean的转换**************************"); System.out.println("将一个Bean转换成为json字符串->"); User user1 = new User("凤姐",12,new StringBuffer("未知"),true); System.out.println("转换之前的user1"+user1); String json = gson.toJson(user1); System.out.println("User对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean->"); User user2 = gson.fromJson(json, User.class); System.out.println("转换成为的user2=="+user2); System.out.println(); System.out.println("2Collection集合的转换**************************"); System.out.println("将一个Bean的List集合转换成为json字符串->"); Collection<User> userList1 = new ArrayList<User>(); for(int i=0;i<3;i++){ User user = new User("如花",10+i,new StringBuffer("男"),false); userList1.add(user); } json = gson.toJson(userList1); System.out.println("User的List集合对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的List集合->"); Collection<User> userList2 = gson.fromJson(json, new TypeToken<Collection<User>>(){}.getType()); System.out.println("转换成为的User的List集合,userList2="+userList2); System.out.println(); System.out.println("3Array数组的转换**************************"); System.out.println("将一个Bean的Array数组转换成为json字符串->"); User [] userArray1 = new User[3]; for(int i=0;i<userArray1.length;i++){ userArray1[i] = new User("芙蓉",20,new StringBuffer("人妖"),true); } json = gson.toJson(userArray1); System.out.println("User的数组对象转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的数组对象->"); User [] userArray2 = gson.fromJson(json, new TypeToken<User[]>(){}.getType()); System.out.println("转换成为的User的数组对象,userArray2="+Arrays.toString(userArray2)); System.out.println(); System.out.println("4Map的转换**************************"); System.out.println("将一个Bean的Map转换成为json字符串->"); Map<String,User> map1 = new HashMap<String,User>(); for(int i=0;i<3;i++){ map1.put(""+(i+10), userArray1[i]); } json = gson.toJson(map1); System.out.println("User的Map集合转换成为Json字符串,json==="+json); System.out.println("***************************"); System.out.println("将一个json字符串转换成为Bean的数组对象->"); Map<String,User> map2 = gson.fromJson(json, new TypeToken<Map<String,User>>(){}.getType()); System.out.println("转换成为的User的数组对象,map2=="+map2); } }
运行结果:
1普通的Bean的转换************************** 将一个Bean转换成为json字符串-> 转换之前的user1{name=凤姐;age=12;sex=未知;isChild=true} User对象转换成为Json字符串,json==={"name":"凤姐","age":12,"sex":"未知","isChild":true} *************************** 将一个json字符串转换成为Bean-> 转换成为的user2=={name=凤姐;age=12;sex=未知;isChild=true} 2Collection集合的转换************************** 将一个Bean的List集合转换成为json字符串-> User的List集合对象转换成为Json字符串,json===[{"name":"如花","age":10,"sex":"男","isChild":false},{"name":"如花","age":11,"sex":"男","isChild":false},{"name":"如花","age":12,"sex":"男","isChild":false}] *************************** 将一个json字符串转换成为Bean的List集合-> 转换成为的User的List集合,userList2=[{name=如花;age=10;sex=男;isChild=false}, {name=如花;age=11;sex=男;isChild=false}, {name=如花;age=12;sex=男;isChild=false}] 3Array数组的转换************************** 将一个Bean的Array数组转换成为json字符串-> User的数组对象转换成为Json字符串,json===[{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},{"name":"芙蓉","age":20,"sex":"人妖","isChild":true}] *************************** 将一个json字符串转换成为Bean的数组对象-> 转换成为的User的数组对象,userArray2=[{name=芙蓉;age=20;sex=人妖;isChild=true}, {name=芙蓉;age=20;sex=人妖;isChild=true}, {name=芙蓉;age=20;sex=人妖;isChild=true}] 4Map的转换************************** 将一个Bean的Map转换成为json字符串-> User的Map集合转换成为Json字符串,json==={"10":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},"11":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true},"12":{"name":"芙蓉","age":20,"sex":"人妖","isChild":true}} *************************** 将一个json字符串转换成为Bean的数组对象-> 转换成为的User的数组对象,map2=={10={name=芙蓉;age=20;sex=人妖;isChild=true}, 11={name=芙蓉;age=20;sex=人妖;isChild=true}, 12={name=芙蓉;age=20;sex=人妖;isChild=true}}
参考文章:
http://qindongliang1922.iteye.com/blog/1915710
http://www.cnblogs.com/happyPawpaw/archive/2012/10/23/2735697.html
相关推荐
当你有一个Java对象并想将其转化为JSON字符串时,可以使用`Gson().toJson()`方法;反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单...
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
2. 其次,需要将Java对象转换成JSON字符串,使用Gson的toJson方法可以实现这一步骤。 使用FastJson解析JSON的步骤: 1. 首先,需要将JSON字符串解析成Java对象,使用FastJson的parseObject方法可以实现这一步骤。 ...
`Gson`是一个由Google提供的库,用于将Java对象转换为JSON字符串,反之亦然。在这个场景中,我们将讨论如何在Android项目的`assets`目录下使用`Gson`来读取JSON文件,以及如何对JSON数据进行格式化操作。 首先,`...
Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它使得在Java应用程序中处理JSON变得非常简单,无论是将JSON转换为等效的Java对象,还是将Java对象转换为JSON格式的字符串。在本文中,我们将...
2. 使用Gson实例解析JSON:有了JSON字符串和对应的数据模型类,我们可以使用Gson的fromJson()方法将JSON转换为Java对象。 ```java String jsonString = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}...
3. 使用Gson解析JSON:创建Gson实例,然后调用`fromJson()`方法将JSON字符串转换为Java对象。 ```java Gson gson = new Gson(); String jsonString = reader.readLine(); // 读取JSON文件第一行内容 User user = ...
创建一个 Gson对象在调用其toJson方法将JAVA对象或集合转换成json字符串 Gson gson = new Gson(); String toJson = gson.toJson(Object o);
`Gson`是Google提供的一款强大的Java库,用于将Java对象转换为JSON字符串,以及将JSON数据转换回等效的Java对象。本教程将深入探讨如何使用Gson库解析复杂的JSON实例,让你只需寥寥几行代码就能轻松处理JSON解析问题...
总的来说,Gson是一个强大且易于使用的库,可以帮助开发者轻松地在Java对象和JSON之间进行转换。通过阅读和理解提供的“Gson解析JSON数据的入门级源码”,你将能够熟练掌握这些基本操作,并进一步探索更高级的功能,...
在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON数据转换回等效的Java对象。在这个场景中,"使用Gson解析json并且加载json中的网络图片"涉及到的关键...
在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,而Gson库是Google提供的一款强大的工具,它允许开发者轻松地在Java对象和JSON数据之间进行转换。本教程将深入讲解如何使用Gson库进行Java...
Gson库是由Google提供的一个Java库,其主要功能是帮助开发者在Java对象和JSON数据之间进行相互转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性、易写性和易于解析而被广泛应用于...
本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们了解JSON的基本结构。JSON格式通常包含键值对(key-value pairs)和数组。键值对以冒号...
3. **序列化对象为JSON**:使用Gson库,可以轻松地将Java对象转换为JSON字符串。例如: ```java Gson gson = new Gson(); User user = new User("张三", 25); String jsonString = gson.toJson(user); ``` `toJson()...
Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Simple JSON,其版本2.3.1是一个较为稳定且广泛使用的版本,适用于许多Android和Java项目。本篇文章将深入探讨Gson ...
例如,你可以直接使用Gson的`Gson().toJson()`方法将Java对象转化为JSON字符串,然后使用`fromJson()`方法将JSON字符串转换回Java对象。此外,Gson还支持自定义类型适应器,可以处理更复杂的数据结构。 Json库可能...
GSON是Google提供的一个Java库,用于将Java对象转换为JSON格式的字符串,反之亦然。GSON的强大之处在于它可以自动映射JSON数据到Java对象,大大简化了JSON解析和序列化的过程。 以下是关于JSON和GSON在Android开发...
Gson提供`fromJson()`方法,可以将JSON字符串转化为指定类型的Java对象: ```java String jsonString = "{\"name\":\"John\",\"lastName\":\"Doe\"}"; Person person = gson.fromJson(jsonString, Person.class); `...