`
fengzhongdengdai
  • 浏览: 41145 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

gson常用操作

阅读更多
比如一个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>
分享到:
评论

相关推荐

    json解析 gson fastjson

    在Java中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括Gson和Fastjson。 **Gson** 是Google开发的一个Java库,能够将Java对象转换为JSON字符串,反之亦然。Gson的主要优点是它对Java对象的深度支持,...

    Gson-2.7.jar

    在Android中,Gson是一个常用的选择,因为它易于使用且功能强大。 压缩包中的文件“Android中使用Gson解析JSON数据.docx”可能提供了关于在Android环境中具体如何集成和使用Gson的详细步骤,包括添加依赖、创建模型...

    GsonDemo小例子

    在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON数据解析回等效的Java对象。这个“GsonDemo小例子”显然涉及到如何使用Gson库进行JSON操作的基本概念和实践...

    MySQL驱动和gson包

    MySQL驱动和Gson包是Java开发中常用的两个组件。MySQL驱动是用于连接Java应用程序与MySQL数据库的桥梁,而Gson库则是一个强大的JSON解析库,能够方便地在Java对象和JSON数据之间进行转换。 首先,我们来详细了解...

    gson-2.1源码

    它是网络应用程序之间进行数据交换的常用方式。 gson-2.1源码包含了Gson库的核心实现,通过分析这些源代码,我们可以了解到Gson如何高效地完成Java对象与JSON字符串之间的转换。在这个版本中,Gson库主要包含以下几...

    gson-2.2.4.jar

    在Java开发中,Gson-2.2.4.jar是一个常用的依赖包,它包含了处理JSON数据所需的所有类和方法。 首先,让我们深入了解一下JSON(JavaScript Object Notation),这是一种轻量级的数据交换格式,易于人阅读和编写,...

    Android Gson解析案例

    在Android开发中,Gson库是一个非常常用的工具,它由Google提供,用于在Java对象和JSON数据之间进行映射。这个“Android Gson解析案例”涵盖了如何在Android应用程序中有效地使用Gson库处理JSON数据,特别是处理可变...

    Gson解析JSON数据的入门级源码

    在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON字符串反序列化回相应的Java对象。这个“Gson解析JSON数据的入门级源码”应该包含了一些基础示例,帮助初学...

    com.google.code.gson的jar

    Gson库能够方便地将JSON字符串解析成一个HashMap,这样开发者就能够方便地访问和操作JSON数据。例如,如果你有一个JSON字符串,Gson可以通过`Gson().fromJson(jsonString, HashMap.class)`将其转换为HashMap。 ...

    GSON工具测试类_java

    在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于在Java对象和JSON数据之间进行互相转换。Gson库的强大之处在于它的灵活性和便捷性,使得处理JSON格式的数据变得简单易行。本测试类将深入探讨如何...

    gson最新源码

    5. **Gson.fromJson()和Gson.toJson()**: 这两个方法是Gson最常用的功能,分别用于将JSON字符串转换为Java对象,以及将Java对象转换为JSON字符串。它们支持基本类型、集合、Map以及自定义的Java类。 6. **复杂类型...

    google-gson-2.2.2

    Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为串行化Java对象为JSON字符串...附件包括gson2.2.2软件包以及一个doc文档,英文版,还有一个维基百科的简单说明,介绍最常用最基础的操作

    Gson转json格式和解析json格式小例子

    在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON格式的字符串,同时也能够将JSON数据解析为Java对象。这个“Gson转json格式和解析json格式小例子”项目是基于Eclipse的,主要...

    Gson对几种情况json数据解析Demo

    在Java开发中,Gson库是一个非常常用的工具,它由Google提供,用于将Java对象转换为JSON字符串,以及将JSON字符串反序列化回Java对象。本教程将详细讲解如何使用Gson库处理不同类型的JSON数据。 一、Gson库基础 1....

    一些开发常用的jar包(gson、dbutils、c3p0、mysql)

    这四个库在Java开发中有着广泛的应用,Gson处理JSON数据,DBUtils简化数据库操作,C3P0提供高效连接池管理,而MySQL Connector/J则负责与MySQL数据库的交互。它们共同构成了Java开发中数据处理和数据库操作的基础...

    gson2.7 java依賴包

    使用Gson库的基本操作包括: 1. **序列化**:将Java对象转换为JSON字符串。例如,如果你有一个User类的实例,你可以使用`Gson().toJson(user)`方法将其转化为JSON格式的字符串。 2. **反序列化**:将JSON字符串...

    gson jar包

    7. Gson的性能:Gson库在处理大量数据时表现出良好的性能,其效率高且内存占用少,是Java开发中常用的JSON处理工具。 8. 其他特性:Gson还支持类型注解,可以指定特定字段如何序列化或反序列化;还可以使用`@Expose...

    Gson.jar和org.json.jar

    在实际开发中,你可能会遇到一个名为`JsonUtil`的工具类,这个类通常会封装Gson或org.json库的一些常用操作,比如提供静态方法来简化序列化和反序列化的步骤。例如,`JsonUtil.toJsonString(object)`将Java对象转换...

    json常用jar包(包括json常用的以及gson包)

    这里提到的"json常用jar包(包括json常用的以及gson包)"包含了几个主流的JSON处理库: 1. **json-parser_fat.jar**:这是一个可能包含多个JSON解析库的综合包,"fat"可能表示它包含了所有必要的组件和依赖,使得...

    使用Gson和Json-lib去解析json和组装Json数据例子

    使用Gson进行JSON操作非常直观且高效。 1. **安装Gson** 在你的项目中,可以通过Maven或Gradle添加Gson依赖。如果是Maven,可以在`pom.xml`中添加以下依赖: ```xml &lt;groupId&gt;com.google.code.gson&lt;/groupId&gt; ...

Global site tag (gtag.js) - Google Analytics