下面是一个简单的例子:
publicclass Person {
private String name;
privateint age;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
publicvoid setName(String name) {
this.name = name;
}
/**
* @return the age
*/
publicint getAge() {
return age;
}
/**
* @param age the age to set
*/
publicvoid setAge(int age) {
this.age = age;
}
@Override
public String toString()
{
return name +":"+age;
}
}
private String name;
privateint age;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
publicvoid setName(String name) {
this.name = name;
}
/**
* @return the age
*/
publicint getAge() {
return age;
}
/**
* @param age the age to set
*/
publicvoid setAge(int age) {
this.age = age;
}
@Override
public String toString()
{
return name +":"+age;
}
}
实体很简单,两个字段,当然实体中的字段也可以是List或者Set类型的。
Gson gson =new Gson();
List<Person> persons =new ArrayList<Person>();
for (int i =0; i <10; i++) {
Person p =new Person();
p.setName("name"+ i);
p.setAge(i *5);
persons.add(p);
}
String str = gson.toJson(persons);
List<Person> persons =new ArrayList<Person>();
for (int i =0; i <10; i++) {
Person p =new Person();
p.setName("name"+ i);
p.setAge(i *5);
persons.add(p);
}
String str = gson.toJson(persons);
上面的代码重点是Gson对象,它提供了toJason()方法将对象转换成Json字符串,上面代码的str对象值为:
[{"name":"name0","age":0},{"name":"name1","age":5},{"name":"name2","age":10},{"name":"name3","age":15},{"name":"name4","age":20},{"name":"name5","age":25},{"name":"name6","age":30},{"name":"name7","age":35},{"name":"name8","age":40},{"name":"name9","age":45}]
很标准的json数据,很简单吧,呵呵。
下面来看看gson的反序列化,Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法。
在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构。
先来看第一种:
比如json字符串为:[{"name":"name0","age":0}]
代码:
Person person = gson.fromJson(str, Person.class);
提供两个参数,分别是json字符串以及需要转换对象的类型。
第二种,转换成列表类型:
代码:
List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType());
for(int i =0; i < ps.size() ; i++)
{
Person p = ps.get(i);
System.out.println(p.toString());
}
for(int i =0; i < ps.size() ; i++)
{
Person p = ps.get(i);
System.out.println(p.toString());
}
可以看到上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。
Gson的基本使用就是这么多,至于annotation方面可以参考gson的官方文档,希望能对初学java和gson的同学有所帮助。
相关推荐
### Java对象转JSON工具类详解 #### 一、引言 在现代软件开发过程中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式被广泛使用。它基于JavaScript的一个子集,采用完全独立于编程语言的文本...
当我们需要将各种编程语言中的对象转换为JSON格式时,通常会借助第三方工具来实现。本主题以Java为例,探讨如何使用第三方库将JavaBean对象、List、Set或Map对象转换为JSON格式。 1. **JavaBean对象转JSON** ...
总的来说,json2.js是解决JSON处理兼容性问题的一个工具,它提供了一种安全且标准化的方式来在JavaScript中进行JSON字符串与对象之间的转换,尤其对于那些不支持原生JSON操作的老版本浏览器而言。
总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...
json工具类,json转为对象,json转map。对象转json。便于使用
Json对象与json字符串互相转换处理工具
本小工具正是用于将Python对象转化为JSON字符串。 在Python中,`json`模块提供了两个主要函数来实现Python对象到JSON字符串的转换:`dumps()`和`dump()`。`dumps()`函数将Python对象转化为JSON字符串,而`dump()`则...
FastJSON 是一个 Java 类转 JSON 工具,具有简洁、快速和高效的特点,能够轻松将 Java 对象转换为 JSON 字符串,并且支持反向操作。 FastJSON 的主要特点是速度快、配置简单,只需一行代码即可将 Java 对象转换为 ...
在JavaScript开发中,有时我们需要将JSON对象转换为JSON Schema,以便对数据进行验证。这在处理用户输入、API交互或者存储复杂数据结构时非常有用。`jsonToSchema`项目可能就是一个工具或库,用于帮助开发者实现这个...
Excel转JSON工具是一种实用的软件或在线服务,它允许用户将结构化的Excel表格数据转换为JSON(JavaScript Object Notation)格式,反之亦然。JSON是一种轻量级的数据交换格式,常用于Web服务和应用程序之间的数据...
在将List转换为JSON时,我们通常会将每个列表元素转换为一个JSON对象,然后将这些对象放入一个JSON数组中。 要创建这样一个工具类,我们可以使用Android提供的Gson库。Gson是Google开发的一个用于在Java对象和JSON...
《xlsx文件转json工具详解与应用》 在信息化时代,数据的处理与转换成为日常工作中的重要环节。Excel作为广泛使用的表格处理软件,其文件格式(如xlsx)在数据存储和交换中占据着重要地位。然而,随着Web应用程序和...
在Java开发中,将对象转换成JSON(JavaScript Object Notation)格式是...如果你的项目中使用了压缩包子文件"对象转json需要的jar",那么应该包含了上述提及的jar包,只需将它们引入项目即可实现对象到JSON的转换功能。
标题“Excel转Json工具”指的是一种软件或在线服务,它的主要功能是帮助用户快速、方便地将Excel文件中的数据转换为JSON格式。这种工具通常具有用户友好的界面,支持一键操作,可以极大地提高工作效率,避免手动编写...
这时,我们就需要“Excel转Json工具”来解决这个问题。 “Excel转Json工具”正如其名,它是一种能够将Excel文件中的数据转换为JSON格式的软件或在线服务。这种工具通常包含以下核心功能: 1. **导入Excel文件**:...
自己有空时用java反射写的json转化工具,有不完善之处,多包涵
在Java开发中,数据交换格式JSON(JavaScript Object Notation)被广泛使用,而Gson库是Google提供的一款强大的工具,它允许开发者轻松地在Java对象和JSON数据之间进行转换。本教程将深入讲解如何使用Gson库进行Java...
C# 工具类 泛型转JSON 使用 Newtonsoft.Json 转换JSON
这个"JSON与java对象转换的工具包"正是为了这个目的而设计的。 此工具包提供了方便快捷的方法,可以将JSON字符串直接转换为Java的各种数据结构,如实体Bean(POJO对象)、Map、Collection以及Object数组。这大大...
在IT行业中,JSON(JavaScript Object ...总之,对象转换为JSON字符串是C#开发中的常见任务,Json.NET库提供了强大且灵活的工具来实现这一目标。开发者可以根据需求调整序列化选项,以满足各种复杂的序列化场景。