比如要写个专门处理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); 

转载于:https://www.cnblogs.com/longshiyVip/p/5043176.html

自定义JSON配置器相关推荐

  1. C++ STL(第三篇:空间配置器)

    1.概述 以STL运用的角度而言,空间配置器是最不需要介绍的,它总是藏在一切组件的背后,默默工作.整个STL的操作对象都存放在容器之中(vertor.list),而容器一定需要配置空间以放置资料,这就 ...

  2. windows + Linux 自定义模板配置 怎么使用自定义规范管理器

    转载: https://www.cnblogs.com/itfat/p/8342938.html win2008以上的系统,在vmware esxi5.5里怎么使用自定义规范管理器?sysprep 经 ...

  3. IK分词器-自定义分词算法与自定义分词配置

    一.分词的概念 分词:就是把我们要查询的数据拆分成一个个关键字,我们在搜索时,ElasticSearch会把数据进行分词,然后做匹配.默认的中文分词器会把每一个中文拆分,比如"迪丽热巴&qu ...

  4. Dubbo自定义日志拦截器

    前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...

  5. springboot整合shiro和session的详细过程和自定义登录拦截器

    文章目录 1.shiro依赖 2.shiro配置 shiro过滤器配置: 关联自定义的其他管理器 自定义会话工厂: 3.登陆时记录用户信息 4.shiro一些工具类的学习 5.自定义登录拦截器 shi ...

  6. 性能测试之JMeter接口关联【JSON提取器】详解

    1.JSON提取器介绍 相信做过自动化测试的朋友经常会遇到这样的场景:我想调用系统中的某个业务接口,但是需要先登录系统.也就是现在很多接口的访问,都是需要登录接口的token做为基础. 在JMeter ...

  7. Dubbo自定义日志拦截器 1

    前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...

  8. java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)

    在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...

  9. Jackson:我是最牛掰的 Java JSON 解析器(有点虚)

    在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...

  10. spring boot web开发------自定义springmvc配置

    1.如何自定义springmvc配置 旧的springmvc配置文件 <?xml version="1.0" encoding="UTF-8"?> ...

最新文章

  1. shiro原理_java:shiro高级篇——1
  2. java common io_Java之Apache Commons-IO使用精讲
  3. Hibernate学习(三)
  4. jsp中去掉超链接下划线吗_好烦啊,PPT 插入超链接,文字自动变色还有下划线!还不能改?!...
  5. Java 128陷阱+自动装箱拆箱
  6. 在线教育、精品课程、直播课、课程交流、历史观看、订单、收藏、余额、推荐、关注、购买课程、充值、产品设计、线上教育、视频课程、教育app、在线课堂、网络教学、远程教育、教学辅导、学习平台、K12教育
  7. wps 宏 禁用_WPS表格如何解除宏禁用
  8. java开源知识库项目_18个java cms开源项目
  9. 计算机键盘音乐 卡农,巴赫键盘音乐
  10. 台式计算机没有声音图标,台式电脑没声音,小扬声器图标也没有。
  11. 查看新增串口、USB设备
  12. Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  13. matlab中怎么贮存函数,MATLAB参数保存、调用
  14. Genil BOL framework merge
  15. 【MySQL】InnoDB存储引擎
  16. 为什么梦里常有视觉和听觉,却没有痛觉和嗅觉?
  17. python从网址爬图片协程_python协程gevent案例:爬取斗鱼美女图片
  18. TIL —静态工厂方法
  19. 2019电商生意经(五):明确中台化的概念、形式与战略
  20. VUE利用transition标签实现摇一摇抽签效果

热门文章

  1. IDEA集成Git使用教程
  2. MYSQL单列索引和组合索引分析
  3. php+不要科学记数,php怎么设置不用科学计数法?
  4. java 异常补偿解决_在java 的异常处理模型中,无论是否发生异常,(  )块中的代码都会被执行。...
  5. 位置度标注方法图解_追踪主力-散户操盘实战图解:操盘手法分析
  6. Jupyter编程完成对手写体Mnist数据集中10个字符 (0-9)的分类识别
  7. Ubuntu18环境下安装ROS
  8. 初见mybatis-plus(快速创建入门案例)
  9. oracle分区索引优化,SQL优化思路结果集重用优化、分区索引优化测试
  10. python中的sorted是什么意思_Python中sorted()排序与字母大小写的问题