关闭

net.sf.json.JSONObject 和org.json.JSONObject 的差别

9492人阅读 评论(2) 收藏 举报
分类:

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();

3
0
查看评论

(java 基础知识) net.sf.json包与org.json包区别

et.sf.json.JSONObject 和org.json.JSONObject 的差别。 一、创建json对象 String str = {code:0, msg:{availableBalance:31503079.02}} org.json.JSONObject: ...
  • zhouzhiwengang
  • zhouzhiwengang
  • 2015-12-01 01:58
  • 3474

比较net.sf.json和org.json

版本: net.sf.json-lib:json-lib:2.4 org.json:json:2.2import net.sf.json.JSONObject; import org.json.JSONException;public class CompareJsonJar { pub...
  • pymqq
  • pymqq
  • 2015-08-12 17:26
  • 1406

Spring Boot系列(三):Spring Boot转化为json数据格式

Spring Boot为我们良好的提供了我们需要的数据,将数据转化为json格式,然后返回, 下面请看springboot转化为json的方式; 第一种方式: SpringBoot框架默认的方式; 步骤: * 1.编写实体类student; package com.gmm; /**...
  • abcchengxuyuan
  • abcchengxuyuan
  • 2017-04-30 22:44
  • 15243

net.sf.json.JSONOBJECT.fromObject 与 com.alibaba.fastjson.JSONObject.parseObject

2016-03-26 NULL值处理哪家强之 net.sf.json.JSONObject 和 com.alibaba.fastjson.JSONObject JSON作为一个轻量级的文本数据交换格式常常用于web后台的数据封装和传输。JSON及其工具包给开发带来非常多的好处,提高了...
  • jishamo
  • jishamo
  • 2016-12-05 14:51
  • 7957

net.sf.json.JSONObject 和org.json.JSONObject 的差别

et.sf.json.JSONObject 和org.json.JSONObject  的差别。 一、创建json对象 String str = "{\"code\":\"0000\", \"msg\":{\...
  • u010598111
  • u010598111
  • 2015-06-28 18:07
  • 876

json字符串转换为JSONObject和JSONArray

一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject  String jsonMessage = "{\"语文\":\&q...
  • taxiangwuhen
  • taxiangwuhen
  • 2012-08-10 00:36
  • 267951

JSON的解析之net.sf.json

引言     最近在为电商项目的APP提供接口,用的就是JSON传值。具体作用就不多说啦,相信大家用的人都知道,在这里给大家介绍一下,在平时我是怎么用的。除了这种JSON包之外其实还有好多种例如com.alibaba.fastjson,据说阿里巴巴的这种性能比较高,目前还没有用过...
  • u010539352
  • u010539352
  • 2015-09-17 19:05
  • 2316

net.sf.json.JSONObject 和org.json.JSONObject 的差别

net.sf.json.JSONObject 和org.json.JSONObject  的差别。 一、创建json对象 String str = "{\"code\":\"0000\", \"msg\":{\&qu...
  • Ethan_Fu
  • Ethan_Fu
  • 2015-06-10 11:17
  • 3723

获取json 对象属性和值

获取json 对象属性和值var fs = require('fs'); var filestr = JSON.parse(fs.readFileSync("d:\\id.json")); for (var item in filestr) { fs.a...
  • yayali98
  • yayali98
  • 2015-10-26 14:35
  • 648

json 解析double类型多出几位小数,利用NSDecimalNumber修复

后台返回float类型数据8.2,实际用AFN的json解析后得到8.1999999999,该怎么处理呢? 开发中处理处理价格金额问题, 后台经常返回float、double类型, 打印或转成NSString都会有精度丢失问题, 因此使用系统自带的NSDecimalNumber做处...
  • Nvermore_
  • Nvermore_
  • 2016-08-18 18:32
  • 2180
    个人资料
    • 访问:9406958次
    • 积分:78959
    • 等级:
    • 排名:第21名
    • 原创:264篇
    • 转载:2910篇
    • 译文:3篇
    • 评论:805条
    文章分类
    最新评论