http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
下面的例子中我们示例如何将一个数据转换成 json 串,并使用 Gson.toJson()
方法将数组序列化为 JSON,以及Gson.fromJson()
方法将 JSON 串反序列化为 java 数组。
import com.google.gson.Gson; public class ArrayToJson { public static void main(String[] args) { int[] numbers = {1, 1, 2, 3, 5, 8, 13}; String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // // Create a new instance of Gson // Gson gson = new Gson(); // // Convert numbers array into JSON string. // String numbersJson = gson.toJson(numbers); // // Convert strings array into JSON string // String daysJson = gson.toJson(days); System.out.println("numbersJson = " + numbersJson); System.out.println("daysJson = " + daysJson); // // Convert from JSON string to a primitive array of int. // int[] fibonacci = gson.fromJson(numbersJson, int[].class); for (int i = 0; i < fibonacci.length; i++) { System.out.print(fibonacci[i] + " "); } System.out.println(""); // // Convert from JSON string to a string array. // String[] weekDays = gson.fromJson(daysJson, String[].class); for (int i = 0; i < weekDays.length; i++) { System.out.print(weekDays[i] + " "); } System.out.println(""); // // Converting multidimensional array into JSON // int[][] data = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}}; String json = gson.toJson(data); System.out.println("Data = " + json); // // Convert JSON string into multidimensional array of int. // int[][] dataMap = gson.fromJson(json, int[][].class); for (int i = 0; i < data.length; i++) { for (int j = 0; j < data[i].length; j++) { System.out.print(data[i][j] + " "); } System.out.println(""); } } }
以下是输出结果:
numbersJson = [1,1,2,3,5,8,13]
daysJson = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]
1 2 3 5 8 13
Sun Mon Tue Wed Thu Fri Sat
Data = [[1,2,3],[3,4,5],[4,5,6]]
2 3
4 5
如何将集合转化为 json 串?
下面的例子中我们示例如何将Java集合转换为符合 json 规则的字符串。
import java.util.Date; public class Student { private String name; private String address; private Date dateOfBirth; public Student() { } public Student(String name, String address, Date dateOfBirth) { this.name = name; this.address = address; this.dateOfBirth = dateOfBirth; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Date getDateOfBirth() { return dateOfBirth; } public void setDateOfBirth(Date dateOfBirth) { this.dateOfBirth = dateOfBirth; } }
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CollectionToJson { public static void main(String[] args) { // // Converts a collection of string object into JSON string. // List<String> names = new ArrayList<String>(); names.add("Alice"); names.add("Bob"); names.add("Carol"); names.add("Mallory"); Gson gson = new Gson(); String jsonNames = gson.toJson(names); System.out.println("jsonNames = " + jsonNames); // // Converts a collection Student object into JSON string // Student a = new Student("Alice", "Apple St", new Date(2000, 10, 1)); Student b = new Student("Bob", "Banana St", null); Student c = new Student("Carol", "Grape St", new Date(2000, 5, 21)); Student d = new Student("Mallory", "Mango St", null); List<Student> students = new ArrayList<Student>(); students.add(a); students.add(b); students.add(c); students.add(d); gson = new Gson(); String jsonStudents = gson.toJson(students); System.out.println("jsonStudents = " + jsonStudents); // // Converts JSON string into a collection of Student object. // Type type = new TypeToken<List<Student>>(){}.getType(); List<Student> studentList = gson.fromJson(jsonStudents, type); for (Student student : studentList) { System.out.println("student.getName() = " + student.getName()); } } }
以下是输出结果:
jsonNames = ["Alice","Bob","Carol","Mallory"] jsonStudents = [{"name":"Alice","address":"Apple St","dateOfBirth":"Nov 1, 3900 12:00:00 AM"},{"name":"Bob","address":"Banana St"},{"name":"Carol","address":"Grape St","dateOfBirth":"Jun 21, 3900 12:00:00 AM"},{"name":"Mallory","address":"Mango St"}] student.getName() = Alice student.getName() = Bob student.getName() = Carol student.getName() = Mallory
如何将Map转化为 json 串?
下面的例子中我们示例如何将java.util.Map
转化成 json 串,然后再将 json 串转换为java.util.Map
。
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; public class MapToJson { public static void main(String[] args) { Map<String, String> colours = new HashMap<String, String>(); colours.put("BLACK", "#000000"); colours.put("RED", "#FF0000"); colours.put("GREEN", "#008000"); colours.put("BLUE", "#0000FF"); colours.put("YELLOW", "#FFFF00"); colours.put("WHITE", "#FFFFFF"); // // Convert a Map into JSON string. // Gson gson = new Gson(); String json = gson.toJson(colours); System.out.println("json = " + json); // // Convert JSON string back to Map. // Type type = new TypeToken<Map<String, String>>(){}.getType(); Map<String, String> map = gson.fromJson(json, type); for (String key : map.keySet()) { System.out.println("map.get = " + map.get(key)); } } }
以下是输出结果:
json = {"WHITE":"#FFFFFF","BLUE":"#0000FF","YELLOW":"#FFFF00","GREEN":"#008000","BLACK":"#000000","RED":"#FF0000"} map.get = #FFFFFF map.get = #0000FF map.get = #FFFF00 map.get = #008000 map.get = #000000 map.get = #FF0000
如何将对象转换为 json 串?
下面的例子中我们示例如何将一个 Student 对象转换成 json 串,实际操作中我们也可以将任意的 Java 类转换为 json 串,并且实施起来也非常简单,你仅仅需要创建一个 Gson 实例,然后传递将被转化为 json 串的对象,并调用该实例的 toJson 方法即可。
import com.google.gson.Gson; import java.util.Calendar; public class StudentToJson { public static void main(String[] args) { Calendar dob = Calendar.getInstance(); dob.set(2000, 1, 1, 0, 0, 0); Student student = new Student("Duke", "Menlo Park", dob.getTime()); Gson gson = new Gson(); String json = gson.toJson(student); System.out.println("json = " + json); } }
import java.util.Date; public class Student { private String name; private String address; private Date dateOfBirth; public Student() { } public Student(String name, String address, Date dateOfBirth) { this.name = name; this.address = address; this.dateOfBirth = dateOfBirth; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public Date getDateOfBirth() { return dateOfBirth; } public void setDateOfBirth(Date dateOfBirth) { this.dateOfBirth = dateOfBirth; } }
以下是输出结果:
json = {"name":"Duke","address":"Menlo Park","dateOfBirth":"Feb 1, 2000 12:00:00 AM"}
如何将 json 串转换为对象?
下面的例子中我们示例如何 json 串转化成 Java对象。
import com.google.gson.Gson; public class JsonToStudent { public static void main(String[] args) { String json = "{\"name\":\"Duke\",\"address\":\"Menlo Park\",\"dateOfBirth\":\"Feb 1, 2000 12:00:00 AM\"}"; Gson gson = new Gson(); Student student = gson.fromJson(json, Student.class); System.out.println("student.getName() = " + student.getName()); System.out.println("student.getAddress() = " + student.getAddress()); System.out.println("student.getDateOfBirth() = " + student.getDateOfBirth()); } }
以下是输出结果:
student.getName() = Duke student.getAddress() = Menlo Park student.getDateOfBirth() = Tue Feb 01 00:00:00 CST 2000
如何处理对象的字段?
下面的例子中我们示例如何利用Gson处理一个对象的某一字段。
import com.google.gson.Gson; import java.util.Calendar; public class GsonFieldExample { public static void main(String[] args) { Calendar dob = Calendar.getInstance(); dob.set(1980, 10, 11); People people = new People("John", "350 Banana St.", dob.getTime()); people.setSecret("This is a secret!"); Gson gson = new Gson(); String json = gson.toJson(people); System.out.println("json = " + json); } }
import java.util.Date; public class People { private String name; private String address; private Date dateOfBirth; private Integer age; private transient String secret; public People(String name, String address, Date dateOfBirth) { this.name = name; this.address = address; this.dateOfBirth = dateOfBirth; } public String getSecret() { return secret; } public void setSecret(String secret) { this.secret = secret; } }
以下是输出结果:
json = {"name":"John","address":"350 Banana St.","dateOfBirth":"Nov 11, 1980 8:47:04 AM"}
相关推荐
包含以下java源文件: com.google.gson.DefaultDateTypeAdapter.class com.google.gson.ExclusionStrategy.class com.google.gson.FieldAttributes.class com.google.gson.FieldNamingPolicy.class ...
谷歌Gson库是Java开发中广泛使用的JSON解析和序列化工具,版本2.8.0是其一个稳定且功能丰富的版本。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...
标题"Google gson jar包"暗示了我们讨论的是Google Gson库的Java档案文件(JAR),它包含了所有必要的类和资源,使开发者能够在项目中直接使用Gson功能。JAR文件通常在Java开发中用于封装库,以便在应用程序中作为...
标题"om.google.gson.Gson Gson maven依赖"指出了Gson库的使用场景以及获取它的方法,即通过Maven依赖管理工具。在Maven项目中,我们可以将Gson库添加到项目的`pom.xml`文件中,以便在编译和运行时自动下载和管理这...
在Android开发中,Gson库是Google提供的一款强大的JSON处理工具,它允许我们将Java对象转换为对应的JSON字符串,同时也能够将JSON数据解析成相应的Java对象。这篇详细的文章将深入探讨如何利用Gson进行高效的JSON...
Gson是Google开发的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它的全称是Google Gson,主要用于将Java对象转换为JSON格式的字符串,也可以将JSON字符串反序列化为对应的Java对象。在Java开发中,...
首先,我们来看Eclipse下的Gson使用示例。在Eclipse中,你需要先引入Gson库。这可以通过在项目构建路径中添加Gson的jar文件完成,或者如果你的项目是Maven项目,可以在pom.xml文件中添加对应的依赖: ```xml ...
json我们在网络请求中经常用到,最近最火的微信小程序开发中... 就会报错,因为对于嵌套类型的json它是解释不出来的,这时就需要用到com.google.gson.Gson.jar了。资源中提供了jar包与代码示例,一句代码解决您的问题。
本篇文章将详细介绍如何在Android Studio环境下使用Google Gson解析Json数据。 首先,我们需要在项目中引入Gson库。打开build.gradle模块文件,并在dependencies块中添加以下依赖: ```groovy dependencies { ...
谷歌的Gson库是Java和Android开发者用于在JSON对象与Java对象之间进行转换的强大工具。它的全称是Google Gson,允许我们轻松地将Java对象序列化为JSON字符串,或者从JSON字符串反序列化为Java对象。这篇内容将深入...
1. Gson简介: Gson是Google为Java平台设计的一个开源库,它的主要功能是将Java对象转换为JSON字符串,同时也能将JSON字符串反序列化回对应的Java对象。Gson提供了一种灵活且高效的API,使得开发者能够方便地处理...
Google Gson 是一个强大的Java库,由Google开发,用于在Java对象和JSON数据之间进行相互转换。这个库使得Java对象能够轻松地被序列化为JSON格式的字符串,同时也能将JSON字符串解析为相应的Java对象,极大地简化了...
Google Gson库提供了一个强大的工具,使得Java对象与JSON字符串之间的转换变得简单易行。本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过...
Gson是Google开发的一款Java库,用于在Java对象和JSON数据之间进行映射。它的全称为Google Simple Serialization for Java,其主要目标是提供一个简单、高效的方式来将Java对象转换为JSON字符串,反之亦然。Gson库...
截止至2018-11-27,github上com.google.gson.Gson 最新的2.8.5jar包。强大的json字符串解析功能及将字符串转换为json格式。我16年上传的免费下载的2.8.0版本不知道为什么变成下载需要50分了
附带的“gson使用教程.pdf”提供了详细的指南,帮助开发者快速掌握Gson的用法。 Gson的核心功能包括: 1. **对象到JSON**:通过`Gson().toJson()`方法,可以将Java对象(包括基本类型、数组、集合、自定义类等)...
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库,可以快速的将一个 Json 字符转成一个 Java 对象,或者将一个 Java 对象转化为 Json 字符串。
截止至2016-12-23,github上com.google.gson.Gson 最新的2.8.0jar包。强大的json字符串解析功能及将字符串转换为json格式。才发现需要这么多分,大家也可以去网盘下载: ...
在Android开发中,数据交换和存储经常涉及到JSON格式的数据,Google Gson库是一个强大的工具,用于在Java对象和JSON数据之间进行映射。本教程将详细阐述如何在Eclipse环境中使用Gson来解析JSON数据。 首先,我们...
Gson库是Google提供的一个用于在Java对象和JSON数据之间进行映射的Java库,它极大地简化了JSON的处理。本篇将详细介绍在Maven项目中如何使用Gson库。 首先,要在Maven项目中引入Gson库,我们需要在项目的`pom.xml`...