`
kanpiaoxue
  • 浏览: 1781378 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Gson 的深度使用

 
阅读更多

一直在使用 google 的 Gson ,一般都是简单用法。今天有空找了找文章,研究了一下深入的使用。

参考文章如下:

完全理解Gson(1):简单入门:http://www.importnew.com/16630.html

完全理解Gson(2):Gson序列化:http://www.importnew.com/16638.html

完全理解Gson(3):Gson反序列化:http://www.importnew.com/16786.html

 

其实上面的3篇连续的文章都是翻译于:  http://www.javacreed.com/

简单入门:http://www.javacreed.com/simple-gson-example/

Gson序列化:http://www.javacreed.com/gson-serialiser-example/

Gson反序列化:http://www.javacreed.com/gson-deserialiser-example/

Gson 注解的使用:http://www.javacreed.com/gson-annotations-example/

这里的网址上面还有其他关于 Gson 的文章:http://www.javacreed.com/tag/gson/

 

其他参考资料:

Gson 官网:https://github.com/google/gson

Gson 官网的 UserGuide:https://github.com/google/gson/blob/master/UserGuide.md (里面有各种序列化和反序列化的例子)

 -----------------------

操作 List:

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();

List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);

 

    /**
     *
     * @return Gson实例
     * @author xuepeng
     * @CreateTime 2017/11/29 10:59:20
     * @Description 构建Gson实例
     *              将json里面时间字段存储为long类型的时间转换为java的Date类型。
     */
    private Gson buildGson() {
        Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
            @Override
            public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                    throws JsonParseException {
                return new Date(json.getAsJsonPrimitive().getAsLong());
            }
        }).create();
        return gson;
    }

 

 

 

分享到:
评论

相关推荐

    gson深度克隆jar包

    Gson深度克隆是一个利用Gson库实现对象深度克隆的工具,主要通过将对象序列化为JSON字符串,再从JSON字符串反序列化为新对象。其核心原理是利用Gson的序列化与反序列化特性,无需手动实现克隆逻辑。 主要特点: ...

    Google之Gson库深度剖析及使用范本

    **Google的Gson库深度剖析及使用范本** 在当今的软件开发中,JSON(JavaScript Object Notation)已经成为数据交换的主要格式,特别是在Web服务和移动应用之间。JSON因其简洁、易读、易解析的特性而受到广泛欢迎。...

    json解析 gson fastjson

    Gson的主要优点是它对Java对象的深度支持,包括复杂的数据结构如自定义类、集合和嵌套对象。使用Gson,你可以通过`Gson().toJson()`方法将Java对象转化为JSON字符串,通过`new Gson().fromJson()`方法将JSON字符串反...

    谷歌 Gson2.8.0 依赖包、文档和源码

    此外,Gson的`JsonParser`类可以用于逐项解析JSON流,而`JsonElement`树模型则允许对JSON进行深度操作。 总之,谷歌Gson 2.8.0版本是一个强大的JSON处理工具,不仅提供了基础的序列化和反序列化功能,还支持丰富的...

    Google-Gson 2.2.4

    与其他Java JSON库(如Jackson, org.json)相比,Gson的优势在于其简单直观的API,以及对Java反射机制的深度利用,使得序列化和反序列化过程自动化程度高。然而,对于需要高度定制序列化规则或者追求极致性能的场景...

    gson2.8.0和2.8.6.rar

    如果你需要对Gson进行深度定制或者解决特定问题,源码将提供极大的帮助。 使用Gson时,你可以通过以下步骤将其引入Java项目: 1. 将对应的JAR文件添加到项目的类路径中,这通常可以通过IDE(如IntelliJ IDEA或...

    gson jar包

    在实际开发中,Gson通常与其他框架或库结合使用,如Spring MVC、Android等,以实现数据的序列化和反序列化。同时,由于其良好的性能和易用性,Gson已经成为Java世界里处理JSON的首选工具之一。理解并熟练掌握Gson的...

    GSON库源码文档

    GSON库是Google开发的一个Java库,用于在Java对象和JSON数据之间进行映射。它使得在Java应用程序中处理JSON格式的数据变得极其便捷。...深入学习和掌握GSON的使用,将极大地提升Java应用中JSON数据操作的效率和质量。

    google-gson2.2.4

    - **序列化**:当你有一个Java对象,例如一个User类的实例,你可以使用`Gson.toJson()`方法将这个对象转换为JSON字符串。Gson会自动检测对象的属性,并将其转换为JSON键值对。例如: ```java User user = new User(...

    【Gson+fastjson】json转换工具

    Gson的强大之处在于它的灵活性和深度映射能力。以下是一些基本使用示例: 1. 对象转JSON: ```java Person person = new Person("John", "Doe"); Gson gson = new Gson(); String jsonString = gson.toJson(person)...

    最新java gson

    - `JsonElement`: Gson的`JsonElement`类代表JSON结构的根,可以用来解析JSON字符串并进行深度遍历。 - `JsonParser`: 提供了对JSON文本的解析,返回`JsonElement`对象,适用于自定义解析逻辑。 总结,Java Gson是...

    gson-2.8.1

    4. **配置选项:** Gson提供了丰富的配置选项,例如忽略未知字段、保留原始日期格式、控制序列化深度等,以便更好地适应不同的应用场景。 5. **流式API:** 对于大量数据处理,Gson提供了流式API,可以逐行读写JSON...

    gson-2_8_5.zip

    Gson是Google开发的一个Java库,它能够将Java对象转换为JSON字符串,同时也能将JSON内容解析回等效的Java...在实际开发中,根据项目需求,开发者可以灵活地选择使用哪个JAR文件,或者结合源码和API文档进行深度定制。

    gson-2.8.6.jar

    3. **对象深度嵌套**:对于嵌套的对象和数组,Gson可以自动处理并生成相应的JSON结构。 4. **字段忽略**:通过注解`@Expose`,开发者可以选择暴露哪些字段到JSON,从而控制序列化和反序列化的细节。 5. **日期和...

    json包、gson包以及相应的源码

    JSON(JavaScript Object Notation)和Gson是两个在Java编程中广泛使用的数据序列化和反序列化库。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Gson则是Google提供的一个开源库,...

    Gson_UserGuild.zip

    - 深度复制:通过Gson可以实现Java对象的深度克隆。 7. **序列化策略** - `ExclusionStrategies`接口:允许自定义哪些字段应该被包含或忽略在序列化和反序列化过程中。 - `@Expose`注解:标记哪些字段应被序列化...

    fast和gson框架

    Gson的强项在于其类型安全和丰富的特性,适合需要深度定制JSON序列化的场景。而Fastjson则以其速度和低内存消耗著称,更适合大数据量和性能敏感的应用。 在实际开发中,选择哪个框架主要取决于项目需求。如果需要...

    android gson tool

    5. **JsonParser和JsonElement**:Gson提供了JsonParser类,用于解析JSON字符串,生成JsonElement对象,可以进行深度解析和遍历。 在Android中,Gson库广泛应用于网络请求,例如与RESTful API交互,或者保存和读取...

    Gson(Google提供的bean与json的转换工具)

    一、Gson的基本使用 1. 将Java对象转换为JSON字符串: ```java Gson gson = new Gson(); Person person = new Person("John", "Doe", 30); String jsonString = gson.toJson(person); ``` 在这个例子中,`...

    gson-2.2.4 、xom-1.2.6

    例如,你可以使用Gson的`Gson().toJson()`方法将一个Java对象转化为JSON字符串,再用`fromJson()`方法将JSON字符串解析为Java对象。这对于处理网络请求响应或存储数据到本地文件非常有用。 接下来,我们讨论XOM-...

Global site tag (gtag.js) - Google Analytics