比如要写个专门处理float类型的方法,然后注册到JSON配置器中,具体如下:

配置器代码如下:

import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.Locale; import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor; class FloatJsonValueProcessor implements JsonValueProcessor { public FloatJsonValueProcessor() { } /**
* 处理数组类型
*/
public Object processArrayValue(Object value, JsonConfig jsonConfig) { if (value instanceof float[]) { String[] obj = {}; float[] nums = (float[]) value; for (int i = 0; i < nums.length; i++) {
obj[i] = roundHalfUp(nums[i], 3);
} return obj;
} return value;
} /**
* 处理单个对象
*/
public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { if (value instanceof Float) {
return roundHalfUp((Float)value, 3);
} return value;
} /**
* 四舍五入。
*
* @param number 数值
* @return 舍入后的数值
* @see java.text.RoundingMode.HALF_UP
*/
public String roundHalfUp(double number, int frac) {
NumberFormat fmt = NumberFormat.getInstance(Locale.CHINA); fmt.setMaximumFractionDigits(frac);
fmt.setRoundingMode(RoundingMode.HALF_UP); return fmt.format(number);
}
}

然后在具体代码中注册处理器:

JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Float.class, new FloatJsonValueProcessor()); float f = 0.1f;
JSONArray array = JSONArray.fromObject(f,jsonConfig);

最新文章

  1. php glob()函数实现目录文件遍历与寻找与模式匹配的文件路径
  2. 基于HT for Web 3D呈现Box2DJS物理引擎
  3. k序数组排序
  4. Classloaders and Classes
  5. MyBatis3.1 学习教程
  6. [转载]如何重装Grub,使其可以引导双系统
  7. 小游戏 Lights Out (关灯) 的求解 —— 异或方程组
  8. mysql 增量导入到elasticsearch
  9. emoji图像转码解码 存入数据库
  10. Android ADT安装时卡在Calculating requirements and dependencies
  11. 【Lab】Python改bat文件
  12. 图解script的三种加载方式 异步加载顺序
  13. GDAL create kml
  14. dubbo 源码学习1 服务发布机制
  15. [源码]Dephi溢出demo( Shellcode for XP)
  16. Minor GC vs Major GC vs Full GC
  17. python测试开发django-5.模板templates
  18. swift 继承和构造器
  19. HDU 5963 朋友(树+博弈)
  20. java 检测代理IP是否准确

热门文章

  1. hdu2018java
  2. oracle数据库使用之数据查询入门
  3. System Operations on AWS - Lab 2 - Configuring VPC
  4. DNS服务器安装配置案例详解
  5. mybatis根据property获取column
  6. 传送门(portal)
  7. 程序员带你十天快速入门Python,玩转电脑软件开发(四)
  8. homework做了些什么?
  9. PHP&amp;nbsp;支持的协议/封装协议列表
  10. [DB2]实现项目多数据库切换(上)--环境部署