比如一个User对象,我想要一个框架可以直接转换成{id:1001,name='张三'} 就目前来看,Google的GSON组件不错,而且支持 JDK5 的泛型。
地址:http://code.google.com/p/google-gson/
User 用户类:
public class User {
@Expose
private Long id;
@Expose
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 测试 JavaBean 的转换
public class Test {
public static void main(String[] args) {
User user = new User();
user.setId(1001L);
user.setName("张三");
GsonBuilder builder = new GsonBuilder();
// 不转换没有 @Expose 注解的字段
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson = builder.create();
String sUser = gson.toJson(user);
System.out.println(sUser);
// {"id":1001,"name":"张三"}
// 将JSON字符串转换为 JavaBean
User user2 = gson.fromJson(sUser, User.class);
System.out.println(user2.getId() + ", " + user2.getName());
// 1001, 张三
}
}
// 测试 HashMap 的转换
public class MapTest {
public static void main(String[] args) {
User user1 = new User();
user1.setId(1001L);
user1.setName("张三");
User user2 = new User();
user2.setId(1002L);
user2.setName("李四");
Map userMap = new HashMap();
userMap.put("user1", user1);
userMap.put("user2", user2);
GsonBuilder builder = new GsonBuilder();
// 不转换没有 @Expose 注解的字段
builder.excludeFieldsWithoutExposeAnnotation();
Gson gson = builder.create();
String sUserMap = gson.toJson(user, new TypeToken>(){}.getType());
System.out.println(sUserMap);
// {"user1":{"id":1001,"name":"张三"},"user2":{"id":1002,"name":"李四"}}
// 将JSON字符串转换为 HashMap
Map userMap2 = (Map)gson.fromJson(sUser, new TypeToken>(){}.getType());
System.out.println(userMap2.get("user1").getName());
// 张三
}
}
当然 GSON的JSON解析设置还不止这些,还有版本的注解、更改字段名称的注解等等。
上面给的网址上有具体的开发文档,和详细的例子。
如今 GSON 已被很多公司所采用,方便快捷。Google就是比较强大。</STRING,></STRING,></STRING,></STRING,></STRING>
分享到:
相关推荐
在Java中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括Gson和Fastjson。 **Gson** 是Google开发的一个Java库,能够将Java对象转换为JSON字符串,反之亦然。Gson的主要优点是它对Java对象的深度支持,...
在Android中,Gson是一个常用的选择,因为它易于使用且功能强大。 压缩包中的文件“Android中使用Gson解析JSON数据.docx”可能提供了关于在Android环境中具体如何集成和使用Gson的详细步骤,包括添加依赖、创建模型...
在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON数据解析回等效的Java对象。这个“GsonDemo小例子”显然涉及到如何使用Gson库进行JSON操作的基本概念和实践...
MySQL驱动和Gson包是Java开发中常用的两个组件。MySQL驱动是用于连接Java应用程序与MySQL数据库的桥梁,而Gson库则是一个强大的JSON解析库,能够方便地在Java对象和JSON数据之间进行转换。 首先,我们来详细了解...
它是网络应用程序之间进行数据交换的常用方式。 gson-2.1源码包含了Gson库的核心实现,通过分析这些源代码,我们可以了解到Gson如何高效地完成Java对象与JSON字符串之间的转换。在这个版本中,Gson库主要包含以下几...
在Java开发中,Gson-2.2.4.jar是一个常用的依赖包,它包含了处理JSON数据所需的所有类和方法。 首先,让我们深入了解一下JSON(JavaScript Object Notation),这是一种轻量级的数据交换格式,易于人阅读和编写,...
在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于在Java对象和JSON数据之间进行映射。这个“Android Gson解析案例”涵盖了如何在Android应用程序中有效地使用Gson库处理JSON数据,特别是处理可变...
在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON字符串反序列化回相应的Java对象。这个“Gson解析JSON数据的入门级源码”应该包含了一些基础示例,帮助初学...
Gson库能够方便地将JSON字符串解析成一个HashMap,这样开发者就能够方便地访问和操作JSON数据。例如,如果你有一个JSON字符串,Gson可以通过`Gson().fromJson(jsonString, HashMap.class)`将其转换为HashMap。 ...
在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于在Java对象和JSON数据之间进行互相转换。Gson库的强大之处在于它的灵活性和便捷性,使得处理JSON格式的数据变得简单易行。本测试类将深入探讨如何...
5. **Gson.fromJson()和Gson.toJson()**: 这两个方法是Gson最常用的功能,分别用于将JSON字符串转换为Java对象,以及将Java对象转换为JSON字符串。它们支持基本类型、集合、Map以及自定义的Java类。 6. **复杂类型...
Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为串行化Java对象为JSON字符串...附件包括gson2.2.2软件包以及一个doc文档,英文版,还有一个维基百科的简单说明,介绍最常用最基础的操作
在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON格式的字符串,同时也能够将JSON数据解析为Java对象。这个“Gson转json格式和解析json格式小例子”项目是基于Eclipse的,主要...
在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON字符串反序列化回Java对象。本教程将详细讲解如何使用Gson库处理不同类型的JSON数据。 一、Gson库基础 1....
这四个库在Java开发中有着广泛的应用,Gson处理JSON数据,DBUtils简化数据库操作,C3P0提供高效连接池管理,而MySQL Connector/J则负责与MySQL数据库的交互。它们共同构成了Java开发中数据处理和数据库操作的基础...
使用Gson库的基本操作包括: 1. **序列化**:将Java对象转换为JSON字符串。例如,如果你有一个User类的实例,你可以使用`Gson().toJson(user)`方法将其转化为JSON格式的字符串。 2. **反序列化**:将JSON字符串...
7. Gson的性能:Gson库在处理大量数据时表现出良好的性能,其效率高且内存占用少,是Java开发中常用的JSON处理工具。 8. 其他特性:Gson还支持类型注解,可以指定特定字段如何序列化或反序列化;还可以使用`@Expose...
在实际开发中,你可能会遇到一个名为`JsonUtil`的工具类,这个类通常会封装Gson或org.json库的一些常用操作,比如提供静态方法来简化序列化和反序列化的步骤。例如,`JsonUtil.toJsonString(object)`将Java对象转换...
这里提到的"json常用jar包(包括json常用的以及gson包)"包含了几个主流的JSON处理库: 1. **json-parser_fat.jar**:这是一个可能包含多个JSON解析库的综合包,"fat"可能表示它包含了所有必要的组件和依赖,使得...
使用Gson进行JSON操作非常直观且高效。 1. **安装Gson** 在你的项目中,可以通过Maven或Gradle添加Gson依赖。如果是Maven,可以在`pom.xml`中添加以下依赖: ```xml <groupId>com.google.code.gson</groupId> ...