自定义JSON配置器
比如要写个专门处理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配置器相关推荐
- C++ STL(第三篇:空间配置器)
1.概述 以STL运用的角度而言,空间配置器是最不需要介绍的,它总是藏在一切组件的背后,默默工作.整个STL的操作对象都存放在容器之中(vertor.list),而容器一定需要配置空间以放置资料,这就 ...
- windows + Linux 自定义模板配置 怎么使用自定义规范管理器
转载: https://www.cnblogs.com/itfat/p/8342938.html win2008以上的系统,在vmware esxi5.5里怎么使用自定义规范管理器?sysprep 经 ...
- IK分词器-自定义分词算法与自定义分词配置
一.分词的概念 分词:就是把我们要查询的数据拆分成一个个关键字,我们在搜索时,ElasticSearch会把数据进行分词,然后做匹配.默认的中文分词器会把每一个中文拆分,比如"迪丽热巴&qu ...
- Dubbo自定义日志拦截器
前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...
- springboot整合shiro和session的详细过程和自定义登录拦截器
文章目录 1.shiro依赖 2.shiro配置 shiro过滤器配置: 关联自定义的其他管理器 自定义会话工厂: 3.登陆时记录用户信息 4.shiro一些工具类的学习 5.自定义登录拦截器 shi ...
- 性能测试之JMeter接口关联【JSON提取器】详解
1.JSON提取器介绍 相信做过自动化测试的朋友经常会遇到这样的场景:我想调用系统中的某个业务接口,但是需要先登录系统.也就是现在很多接口的访问,都是需要登录接口的token做为基础. 在JMeter ...
- Dubbo自定义日志拦截器 1
前言 上一篇文章 Spring aop+自定义注解统一记录用户行为日志 记录了 web层中通过自定义注解配合Spring aop自动记录用户行为日志的过程.那么按照分布式架构中Dubbo服务层的调用过 ...
- java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- spring boot web开发------自定义springmvc配置
1.如何自定义springmvc配置 旧的springmvc配置文件 <?xml version="1.0" encoding="UTF-8"?> ...
最新文章
- shiro原理_java:shiro高级篇——1
- java common io_Java之Apache Commons-IO使用精讲
- Hibernate学习(三)
- jsp中去掉超链接下划线吗_好烦啊,PPT 插入超链接,文字自动变色还有下划线!还不能改?!...
- Java 128陷阱+自动装箱拆箱
- 在线教育、精品课程、直播课、课程交流、历史观看、订单、收藏、余额、推荐、关注、购买课程、充值、产品设计、线上教育、视频课程、教育app、在线课堂、网络教学、远程教育、教学辅导、学习平台、K12教育
- wps 宏 禁用_WPS表格如何解除宏禁用
- java开源知识库项目_18个java cms开源项目
- 计算机键盘音乐 卡农,巴赫键盘音乐
- 台式计算机没有声音图标,台式电脑没声音,小扬声器图标也没有。
- 查看新增串口、USB设备
- Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster
- matlab中怎么贮存函数,MATLAB参数保存、调用
- Genil BOL framework merge
- 【MySQL】InnoDB存储引擎
- 为什么梦里常有视觉和听觉,却没有痛觉和嗅觉?
- python从网址爬图片协程_python协程gevent案例:爬取斗鱼美女图片
- TIL —静态工厂方法
- 2019电商生意经(五):明确中台化的概念、形式与战略
- VUE利用transition标签实现摇一摇抽签效果
热门文章
- IDEA集成Git使用教程
- MYSQL单列索引和组合索引分析
- php+不要科学记数,php怎么设置不用科学计数法?
- java 异常补偿解决_在java 的异常处理模型中,无论是否发生异常,( )块中的代码都会被执行。...
- 位置度标注方法图解_追踪主力-散户操盘实战图解:操盘手法分析
- Jupyter编程完成对手写体Mnist数据集中10个字符 (0-9)的分类识别
- Ubuntu18环境下安装ROS
- 初见mybatis-plus(快速创建入门案例)
- oracle分区索引优化,SQL优化思路结果集重用优化、分区索引优化测试
- python中的sorted是什么意思_Python中sorted()排序与字母大小写的问题