The method fromObject(String) is undefined for the type JSON
文章转载:http://my.oschina.net/wangwu91/blog/340721 原文标题:net.sf.json.JSONObject 和org.json.JSONObject 的差别 其实,出现fromObject没有被定义,是因为json有两个包,就是net.sf.json和org.json。在使用json的过程中,会有包的导入。 看你选择导入的包,如果选择的是org.json.json这个包,就会出现undefined。 下面是转载过来的文章。关于两个包之间的区别。 一、创建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();方法获取 e.g. JSONObject msgObj = json.getJSONObject("msg");
String availableBalance = msgObj.getString("availableBalance");
{"availableBalance":"31503079.02"}}";
org.json.JSONObject 就会报错,可以msgObj.getDouble(“availableBalance”);也不会丢精度; net.sf.json.JSONObject正确,但是精度会丢失,如果 就不会丢失精度。 第二中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();
json net.sf.json的需要的包: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Oracle 执行计划(Explain Plan) 说明
- c – 我是否需要加入我的应用程序中的每个线程?
- 使用Sqlite3与Python 2.7将数据库添加到Django项目中
- ruby-on-rails – 使用OpenSSL在证书文件中读取Ruby错误
- Cocos2d-x3.1 工程Xcode6编译时的问题
- Oracle SQL语言DML语句与事务_超越OCP精通Oracle视频教程培
- App版本更新时对SQLite数据库升级或者降级遇到的问题
- ruby – 未初始化的常量:: ActiveResource
- c# – 使用锁的正确位置在哪里
- 安装oracle11g INS-30131执行安装程序验证所需的初始设置失