net.sf.json.JSONObject 和org.json.JSONObject 的差别
2016-10-06 11:49
357 查看
net.sf.json.JSONObject 和org.json.JSONObject 的差别。
一、创建json对象
String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}
org.json.JSONObject:
JSONObject json = new JSONObject(str);
or
JSONStringer json = new [b]JSONStringer
();[/b]
[b][b][b]json [/b].put("code","???");[/b][/b]
[b][b][b][b][b]json
[/b].put("msg","???");[/b][/b]
[/b][/b]
[b]区别:[b]JSONObject 不排序,而JSONStringer
是排序的。[/b]
[/b]
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对象直接转变实体对象
org.json.JSONObject:
BalanceDto alanceDto = (BalanceDto) JSONObject.stringToValue(String);
//测试未通过,一直报Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to weather.Weather
未弄清楚什么问题
这个句话编译通过,但是运行会报错,原因是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://blog.csdn.net/z69183787/article/details/46914647
一、创建json对象
String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}
org.json.JSONObject:
JSONObject json = new JSONObject(str);
or
JSONStringer json = new [b]JSONStringer
();[/b]
[b][b][b]json [/b].put("code","???");[/b][/b]
[b][b][b][b][b]json
[/b].put("msg","???");[/b][/b]
[/b][/b]
[b]区别:[b]JSONObject 不排序,而JSONStringer
是排序的。[/b]
[/b]
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对象直接转变实体对象
org.json.JSONObject:
BalanceDto alanceDto = (BalanceDto) JSONObject.stringToValue(String);
//测试未通过,一直报Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to weather.Weather
未弄清楚什么问题
这个句话编译通过,但是运行会报错,原因是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://blog.csdn.net/z69183787/article/details/46914647
相关文章推荐
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别。
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- 【JAVA基础】net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别。
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- net.sf.json.JSONObject 和org.json.JSONObject 的差别(转)
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
- editGrid提交json数据后两种jar包的处理方式net.sf.json.JSONObject与org.json.JSONObject
- org.JSONObeject,org.JSONArray,net.sf.JSONObject方法的使用,用java解析json数据的方法
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- 错误: java.io.NotSerializableException: net.sf.json.JSONObject 的解决方法
- JSON格式的String 怎么转成 net.sf.json.JSONObject