1,首先原始代码用的是gson_2.2.1版本,后来发现2.2.1对String,Double做了限制,如果注册直接抛出异常
2,然后换成gson_2.2.4版本,Double类型可以注册,上代码
private static Gson gson;
static {
gson = new GsonBuilder().registerTypeAdapter(Double.class, new JsonSerializer<Double>() {
@Override
public JsonElement serialize(Double src, Type typeOfSrc, JsonSerializationContext context) {
if(src == src.longValue()){
return new JsonPrimitive(src.longValue());
}
return new JsonPrimitive(src);
}
}).create();
}
3,替换成2.2.4版本在Android Studio上遇到了包冲突问题,在File->Project Structure-> app-> Dependencies删除gson_2.2.1.jar再加入gson_2.2.4即可
分享到:
相关推荐
完美解决Gson将Integer默认转换成Double的问题 Gson是Google开发的一款JSON解析库,广泛应用于Android和Java开发中。然而,在使用Gson时,经常会遇到一个问题,即Gson会将Integer类型的值默认转换成Double类型。这...
本文将围绕“gson转义字符”这一主题展开,深入探讨如何避免Gson在使用时自动将一些字符转为Unicode转义字符。 ### 一、问题背景 在Java项目中,我们经常会使用Gson来处理JSON格式的数据。例如,我们需要将一个...
2. **将泛型转为JSON字符串** 要将泛型对象序列化为JSON字符串,你可以直接调用`Gson`的`toJson()`方法。例如,如果你有一个`Map, MyObject>`,可以这样转换: ```java Gson gson = new Gson(); String json...
Gson是Google开发的一款Java库,它主要用于在Java对象和JSON数据之间进行映射,使得Java对象能够被转换成JSON格式的字符串,同时也能够将JSON字符串解析为等效的Java对象。这个库在JavaEE环境中非常有用,因为它简化...
在Maven项目中,我们可以将Gson库添加到项目的`pom.xml`文件中,以便在编译和运行时自动下载和管理这个依赖。以下是Gson 2.6.2版本在`pom.xml`中的依赖配置: ```xml <groupId>com.google.code.gson</groupId> ...
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
Gson库的核心功能在于它能够将Java对象序列化为JSON字符串,同时也能将JSON字符串反序列化为相应的Java对象。在本资料包中,包含了Gson库的源码和jar文件,这将有助于我们深入理解和使用Gson库。 首先,我们来看...
介绍:Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. 压缩包里有以下文件: ...
这个过程是类型安全的,因为Gson会根据对象的类信息自动处理数据类型。 2. **注解支持**:Gson支持使用Java注解来定制序列化和反序列化的规则。例如,`@Expose`注解可以标记哪些字段需要被序列化或反序列化,`@...
本文将详细介绍如何在Android应用中使用Gson库来自动解析服务器返回的JSON数据。 首先,确保在项目中正确导入Gson库。如果你的项目是基于Gradle构建的,可以在app模块的build.gradle文件中添加依赖: ```groovy ...
在上述代码中,`Person`类需要有对应的getter和setter方法,Gson会自动映射JSON字段到Java对象的属性。 **Fastjson** 是阿里巴巴开发的高性能的JSON库,它的特点是解析速度极快,同时提供了丰富的API供开发者使用。...
3. **类型适应性**:Gson库能自动处理各种基本类型和复杂类型的映射,包括日期、集合、自定义类等,无需额外的配置或适配器。 4. **定制序列化和反序列化**:开发者可以通过实现`JsonSerializer`和`...
`Gson`类用于将Java对象转换成JSON字符串,以及将JSON字符串反序列化回Java对象。而`JsonParser`类则提供了解析JSON文本的功能,可以生成一个`JsonElement`树,进一步处理JSON结构。 **一、Gson的使用** 1. **序列...
平常我们都是用net.sf.json.JSONObject来把对象转为json,但是当对象是一个对象列表如:List<Users> list =new ArrayList(); 用户列表对象,使用JSONObject jsonStu = JSONObject.fromObject(list); 就会报错,因为...
Gson库会自动处理Map中的所有键值对,将它们转换为相应的JSON格式。 例如,如果你有一个如下的Map对象: ```java Map, String> data = new HashMap(); data.put("name", "John Doe"); data.put("age", "30"); data...
Gson 可以自动处理这个类的实例,将其转换成 JSON 字符串。序列化的过程通过 `Gson` 对象的 `toJson()` 方法完成,如下所示: ```java Gson gson = new Gson(); List<Person> persons = ... // 初始化人员列表 ...
5. 基本类型转换:Gson可以轻松地将基本数据类型(如int、double、boolean)转换为JSON值,反之亦然。 6. 日期时间处理:Gson提供了多种方式来处理日期和时间的序列化和反序列化,包括自定义日期格式。 7. 安全性...
本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过`Gson`类来实现JSON与Java对象的转换。当你有一个Java对象并想将其转化为JSON字符串时,...
1. 自动类型适配:Gson能自动识别Java对象的字段类型,并将其正确地转换为JSON数据类型,反之亦然。比如,整型字段会被转换为`Number`,日期会转换为ISO 8601格式的字符串。 2. 自定义序列化和反序列化:通过实现`...
与其他Java JSON库(如Jackson, org.json)相比,Gson的优势在于其简单直观的API,以及对Java反射机制的深度利用,使得序列化和反序列化过程自动化程度高。然而,对于需要高度定制序列化规则或者追求极致性能的场景...