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

json-lib对于float类型的处理问题

    博客分类:
  • json
阅读更多
Json-lib中对于float会默认按double类型处理,因此从数据库中取出的值1.1会变成1.100000023841858
问题代码如下:



目前对问题的处理是新建一个processor,实现JsonValueProcessor接口,

	@Override
	public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
		if (value instanceof Float) {
			return value.toString();
		}
		return null;
	}


JsonConfig jsonConfig= new JsonConfig();
		
jsonConfig.registerJsonValueProcessor(float.class, new JsonFloatValueProcessor());

JSONObject.fromObject(obj, jsonConfig)


注意定义的是float的话,注册的时候要写float.class,不能写为Float.class,否则不能处理
  • 大小: 20.5 KB
分享到:
评论

相关推荐

    Struts2-Json-Plugin 的使用.docx

    Struts2-Json-Plugin 是一个专门为 Struts2 框架设计的插件,它使得在Struts2中能够方便地处理JSON数据,从而更好地支持Ajax请求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前端与后端...

    各种对象转成JSON字符串.pdf

    对于基本数据类型(如`String`, `Integer`, `Float`, `Boolean`, `Short`, `Double`, `Long`, `BigDecimal`, `BigInteger`, `Byte`),它会将对象包装在双引号中。对于数组、列表、映射和集合,它调用相应的辅助方法...

    各种对象转成JSON字符串.docx

    2. 对于基本数据类型(如`String`、`Integer`、`Float`等)以及它们的包装类,将对象转换为字符串并用双引号包裹。 3. 对于`Object[]`数组,调用`array2json`方法进行处理。 4. 对于`List`,调用`list2json`方法。 5...

    基于mediastreamer2的网络电话实现流程以及源码库

    ./configure CC=arm-linux-gcc --prefix=/home/protocol_stack/install/ --with-ogg=/home/protocol_stack/install/ --enable-fixed-point --disable-float-api \ --host=arm-linux make make install 然后用...

    MySQL初级DBA实战

    - **数字类型**:包括整型(如TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT)、浮点型(如FLOAT、DOUBLE)和定点型(如DECIMAL)。 - **日期/时间类型**:用于存储日期和时间值,常见的有DATE、TIME、DATETIME、...

    实现jsp+vrml动态传值

    随着技术的发展,企业对于三维模型的展示有着越来越高的需求。VRML(Virtual Reality Modeling Language)是一种用于描述三维对象及其行为的标准文件格式,它能够被浏览器解析并渲染为三维场景。JSP(JavaServer ...

    windows下安装theano+keras+anaconda

    floatX=float32 allow_input_downcast=True [lib] cnmem=0.8 [blas] ldflags= [gcc] cxxflags=-ID:\Anaconda\MinGW ``` - 其中,`cxxflags` 后面的路径应替换为你实际安装 MinGW 的路径。 #### 安装 ...

    tConversions

    在Java编程语言中,转换是非常常见且至关重要的,因为不同的数据类型有不同的存储和处理方式。"Taylor的转换lib"可能是指一个由Taylor开发的专门用于数据转换的库,它提供了一系列的方法和工具,方便开发者在Java...

    解决tensorflow/keras时出现数组维度不匹配问题

    这些配置项用于控制数据通道的顺序,对于解决维度不匹配的问题非常关键。 #### 五、总结 本文介绍了在使用TensorFlow和Keras进行深度学习模型训练时遇到的数组维度不匹配问题及其解决方法。通过排除版本兼容性和库...

    [编译x64程序] EplOnCpp Build 20190406 (Concept Preview)-易语言

    任何支持C++ 17标准的编译器目前仅在VS2017下进行了测试,在clang等编译器下使用时极可能遇到问题 明确不支持VS2015/VS2012/VS2010/VC6等任何缺少C++ 17支持的编译器 cmake编译系统建议在安装VS时勾选cmake支持以便...

    在ipython notebook中使用argparse方式

    然而,当你在IPython Notebook中使用`argparse`模块来处理命令行参数时,会遇到一些特殊的问题,因为`argparse`是设计用来解析命令行参数,而在Notebook环境中,命令行参数并不像在独立脚本中那样直接可用。...

    布莱扬雷波

    1. **变量和数据类型**:Python支持多种数据类型,如整型(int)、浮点型(float)、字符串(str)、布尔型(bool)和列表(list)、元组(tuple)、字典(dict)和集合(set)等复合类型。 2. **控制流**:Python...

    keras的backend 设置 tensorflow,theano操作

    - **步骤5**: 对于 Windows 系统来说,虽然 TensorFlow 已经支持 Windows 平台,但有时仍可能存在兼容性问题。由于 Keras 支持多种 backend(包括 TensorFlow 和 Theano),在 Windows 上可以更改 backend 为 Theano...

    Python

    2. **数据类型**:Python有多种内置的数据类型,包括整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。此外,还有列表(list)、元组(tuple)、集合(set)和字典(dict)等复合数据类型。 3. **...

Global site tag (gtag.js) - Google Analytics