jsonobject修改key的值_JSONObject(org.json)的一点修改
修改org.json.JSONObject的stringToValue,返回能容纳整数的最小包装类型而不是Integer。
(修正数据交互工具中当对象包含属性的类型为类型为byte/short时反射调用field.set(bean,obj)引发异常。)
黑色粗体斜体为增加部分,修改后代码如下:
static public Object stringToValue(String s) {
if (s.equals("")) {
return s;
}
if (s.equalsIgnoreCase("true")) {
return Boolean.TRUE;
}
if (s.equalsIgnoreCase("false")) {
return Boolean.FALSE;
}
if (s.equalsIgnoreCase("null")) {
return JSONObject.NULL;
}
/*
* If it might be a number,try converting it.
* We support the non-standard 0x- convention.
* If a number cannot be produced,then the value will just
* be a string. Note that the 0x-,plus,and implied string
* conventions are non-standard. A JSON parser may accept
* non-JSON forms as long as it accepts all correct JSON forms.
*/
char b = s.charAt(0);
if ((b >= '0' && b <= '9') || b == '.' || b == '-' || b == '+') {
if (b == '0' && s.length() > 2 &&
(s.charAt(1) == 'x' || s.charAt(1) == 'X')) {
try {
return new Integer(Integer.parseInt(s.substring(2),16));
} catch (Exception ignore) {
}
}
try {
if (s.indexOf('.') > -1 ||
s.indexOf('e') > -1 || s.indexOf('E') > -1) {
return Double.valueOf(s);
} else {
Long myLong = new Long(s);
if (myLong.shortValue() == myLong.byteValue()) {
return new Byte(myLong.byteValue());
} if (myLong.intValue() == myLong.shortValue()) {
return new Short(myLong.shortValue());
} if (myLong.longValue() == myLong.intValue()) {
return new Integer(myLong.intValue());
} else {
return myLong;
}
}
} catch (Exception ignore) {
}
}
return s;
}
还有org.json.JSONObject中增加:
/** * Put a key/int pair in the JSONObject. * * @param key A key string. * @param value An int which is the value. * @return this. * @throws JSONException If the key is null. */ public JSONObject put(String key,byte value) throws JSONException { put(key,new Byte(value)); return this; } /** * Put a key/int pair in the JSONObject. * * @param key A key string. * @param value An int which is the value. * @return this. * @throws JSONException If the key is null. */ public JSONObject put(String key,short value) throws JSONException { put(key,new Short(value)); return this; }
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250
jsonobject修改key的值_JSONObject(org.json)的一点修改相关推荐
- jsonobject修改key的值_修改JSONArray里所有key的值
下面举一个代码的列子目的是实现如下功能: [{"userId":1,"userName":"plf"},{"userId" ...
- jsonobject修改key的值_JSON字符串操作移除空串更改key/value的介绍
对于JSON字符串的操作.移除键值.添加属性. //删除JSON对象value值 var json=[.....]; delete(json['key']); 或者 delete(json.key); ...
- jsonobject修改key的值_Go 语言 map 解析之 key 的定位核心流程
1 哈希表 哈希表属于编程中比较常见的数据结构之一,基本上所有的语言都会实现数组和哈希表这两种结构,Hash table 的历史是比较悠远的,我们在编程时也是离不开的,这种数据结构的作用其实很简单,就 ...
- lisp修改天正标高值_天正CAD里面如何修改标高三角形尺寸,一直太大?
回答: 1.首先,我们先单击"绘图"工具栏中的"直线"按钮,绘制出一个标高符号,就像一个横着放的旗帜.标高符号绘制完成,我们就要进行下一个步骤了. 2.选择菜单 ...
- layUI数据表格可编辑表格单元格值修改之后获取修改前的值
table.on('edit(data_table)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值&q ...
- 读json文件并修改数据
读json文件并修改数据 <html><head><title>读json文件并修改数据</title><meta charset='utf-8' ...
- org.codehaus.jettison.json.JSONObject类型的Null值怎么判断的问题,JSONObject$Null
org.codehaus.jettison.json.JSONObject类型的Null值怎么判断的问题,JSONObject$Null 说明 原报文 {"M_SECURITY_LEVEL& ...
- SAP MM MM17里不能修改物料主数据'Purchasing Value Key'字段值?
SAP MM MM17里不能修改物料主数据'Purchasing Value Key'字段值? 记得在D项目上线之前数据导入系统之后,业务提出一些物料采购视图里的'Purchasing value k ...
- hashmap修改对应key的值_死磕 java集合之HashMap源码分析
简介 HashMap采用key/value存储结构,每个key对应唯一的value,查询和修改的速度都很快,能达到O(1)的平均时间复杂度.它是非线程安全的,且不保证元素存储的顺序: 继承体系 Has ...
最新文章
- 叶际微生物定殖模型研究进展
- sklearn 笔记:make_blobs 生成聚类数据
- 用MDT 2012为企业部署windows 7(十一)--抓取标准模板机镜像
- Linux CentOS 7【修改 屏幕(分辨率)大小】
- combobox 怎么实现对listview的类别查询_Flutter实战之独立实现官网Demo单词收藏Demo
- table偏见和HTML仇外心理
- 同宿舍的程序员毕业五年之女生篇:有人怀疑人生,有人考虑出家
- 服务器搭建对讲机系统,传统对讲机系统如何接入到融合通信系统?
- 《大道至简》阅读笔记02
- 通达信波段王指标公式主图_通达信波段王主图指标公式
- Rancher快速入门
- 如何采集企业信息公示系统
- centos进入管理员_centOS 如何让当前用户取得管理员权限
- CSS样式--前端布局(五)
- Golang 基础:接口使用、实现原理(eface iface)和设计模式
- 167. 两数之和 II - 输入有序数组(java)
- conversational recommender system论文笔记;推荐系统(recommender system)+对话系统(dialogue system)
- 基于Bootstrap4写的一个JQuery分页插件
- 华为云OBS文件上传下载工具类
- [Practical.Vim(2012.9)].Drew.Neil.Tip94 学习摘要
热门文章
- Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第一部分)
- 一个类中有一个参数,需要在另一个类中用到
- 支持向量机(SVM)-文本分类 (1)
- laravel5.6 邮件队列database驱动简单demo
- python---01.名片管理系统
- SharePoint 删除废弃站点步骤
- Java dom4j解析RESTFull风格发布的WebService的xml文件
- OpenCV初探 —— VS2019配置环境
- cocos2d-x调度器原理,mainloop的Update
- AndroidStudio_安卓原生开发_v4v7升级到androidx方法---Android原生开发工作笔记147