net.sf.json.JSONObject 和org.json.JSONObject 的差别
net.sf.json.JSONObject 和org.json.JSONObject 的差别。
一、创建json对象
String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}
org.json.JSONObject:
JSONObject json = new JSONObject(str);
net.sf.json.JSONObject:
JSONObject json = JSONObject.fromObject(str); net.sf.json.jsonobject 没有 new JSONObject(String)的构造方法
二、解析json
第一种直接用json对象.getXXX();方法获取
net.sf.json.JSONObject: 没有严格要求获取字段的类型跟getXXX()的类型一样
org.json.JSONObject:获取的字段类型必须跟getXXX()的类型一样
e.g.
JSONObject msgObj = json.getJSONObject("msg");
String availableBalance = msgObj.getString("availableBalance");
如果在org.json.JSONObject 就会报错,可以msgObj.getDouble("availableBalance");也不会丢精度;而net.sf.json.JSONObject正确,但是精度会丢失,如果String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":\"31503079.02\"}}";
就不会丢失精度。
第二中json对象直接转变实体对象
public class BalanceDto {
private String availableBalance;
public String getAvailableBalance() {
return availableBalance;
}
public void setAvailableBalance(String availableBalance) {
this.availableBalance = availableBalance;
}
public String toString(){
return "availableBalance "+availableBalance;
}
}
org.json.JSONObject:
BalanceDto alanceDto = (BalanceDto) JSONObject.stringToValue(msgObj);
这个句话编译通过,但是运行会报错,原因是BalanceDto 类中availableBalance 的类型跟json中的“availableBalance ”类型不同意
net.sf.json.JSONObject:
String msg = json.getString("msg");
BalanceDto alanceDto = (BalanceDto) JSONObject.toBean(
msg, new BalanceDto().getClass());
三、从json中获取数组
JSONArray subArray = json.getJSONArray("msg");
net.sf.json.JSONObject:
int leng = subArray.size();
org.json.JSONObject:
int leng = subArray.length();
文章来自:http://my.oschina.net/wangwu91/blog/340721
转载于:https://www.cnblogs.com/lgzbj2006/p/5354091.html
net.sf.json.JSONObject 和org.json.JSONObject 的差别相关推荐
- java中关于引用net.sf.json.JSONObject 和org.json.JSONObject 的差别
一.首先今天在写一个功能时遇到和这个问题,就是在调用的百度识别接口需要这个json包,而我平常解 析json习惯了用这个包,那么问题问题来了: 1. 用这个的时候,引入的包是org.js ...
- Java解析JSON时,new JSONObject(这儿写json字符串)报错问题
在获取json字符串后Java使用api创建json对象报错,查阅资料解决该问题: 问题原因:net.sf.json.jsonobject 没有 new JSONObject(String)的构造方法 ...
- 【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON.JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成.易于 ...
- JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别
一.首先来说说fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发.其主要特点是: ① 快速:fastjson采用独创的算法, ...
- java遍历json数据_Java 如何遍历JsonObject对象
方法: iterator iter = jsoninfo.entryset().iterator(); 代码示例: public class test { public static void mai ...
- Json系列之二 json to bean(JSONObject类详解)
方式一/*** Creates a JSONDynaBean from a JSONObject.*/public static Object toBean( JSONObject jsonObjec ...
- Java通过Fastjson实现JSONObject对象、Json字符串以及Java实体类之间互相转换
导入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</arti ...
- JSONObject对象与JSON转换
com.alibaba.fastjson.JSONObject之对象与JSON转换方法 阿里巴巴 FastJson api 'com.alibaba:fastjson:1.2.57' 1.Java对象 ...
- json.net java_java解析JSON (使用net.sf.json)
例如JSON字符串str如下: { "data": [ { "basic_title": "运筹帷幄因特网", "basic_cr ...
最新文章
- LeetCode简单题之二叉搜索树的范围和
- goto VS longjmp setjmp
- 使用yeoman搭建脚手架并发布到npm
- SpringMvc 事务的注解配置、实现、挂起
- python 笔记 异常处理
- PostgreSQL SQL 语言:数据定义
- js的异步请求出现同步效果
- python 声明变量_Python的变量声明
- Phonegap + JqueryMobile常见问题
- 如何定制化SAP Fiori标准应用里UI字段的标签
- 类似ajax封装函数,JS 封装一个async式的AJAX函数
- Java笔记-RabbitMQ的消息确认机制(事务)
- TX Text Control文字处理教程(11)使用文本框
- zz 聊聊并发(二)
- 批量执行定时任务_执行批量维护任务安全策略
- 第二章 如何在VS2008里面编译CG
- System x 服务器制作ServerGuide U盘安装Windows Server 2003 操作系统
- JavaFX之Scene Builder详细使用说明之设置篇(2)——属性Properties
- 普洛斯与宁德时代签署战略合作协议;高博昌平国际研究型医院成为北京自贸区首批签约项目 | 美通企业日报...
- 深度精简版xp 安装并使用iis
热门文章
- 简单 描述oracle 存储结构,下面的各选项中哪一个正确描述了
- golang image.image 转文件流_Kuiper 1.0.2 正式发布 超轻量 IoT 边缘流处理
- byfen网java_Java企业级分布式架构师第10期2020年-开课吧全套
- 利用WiFi模块实现MicroPython远程开发
- ESP8266 D1-UNO-R3开发板的初步测试
- RT-Thread逐飞-智能车培训之MM32芯片应用
- 条形压电陶瓷执行器件和高压驱动器
- hive窗口函数分组排序并取第一个值_Hive(七)Hive分析窗口函数
- python坐标点怎么输入_python导入坐标点的具体操作
- python模块调用的用法_如何使用Python语言中的random模块调用方法