The method fromObject(String) is undefined for the type JSONObject

转载 2015年07月10日 11:39:38

文章转载: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。

下面是转载过来的文章。关于两个包之间的区别。
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");
{\"availableBalance\":\"31503079.02\"}}";

org.json.JSONObject 就会报错,可以msgObj.getDouble(“availableBalance”);也不会丢精度;

net.sf.json.JSONObject正确,但是精度会丢失,如果
String str = "{\"code\":\"0000\", \"msg\":

就不会丢失精度。

第二中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的需要的包:
下载地址:http://download.csdn.net/detail/shaoqianting/8698183

JSONObject使用方法

1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。 2.下载jar包 ...
  • dongzhouzhou
  • dongzhouzhou
  • 2013-03-12 16:51:46
  • 157281

jfinal报错The method renderText(String) is undefined for the type HelloController

跟着jfinal文档的第一个demo学习的时候,发现运行不了,报错The method renderText(String) is undefined for the type HelloContro...
  • Ro_kin
  • Ro_kin
  • 2017-07-12 21:29:02
  • 353

javaBean与Map<String,Object>互转

1. 为什么要实现javaBean与Map相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端...
  • cuidiwhere
  • cuidiwhere
  • 2012-12-02 19:52:11
  • 118022

String转换成json格式(一):net.sf.json.JSONObject

实例: //将str转换成JSONObjct格式 public static void main(String [] args){ String str = "{\"result\":\"suc...
  • u011008029
  • u011008029
  • 2016-05-04 15:17:04
  • 72079

运行maven项目报错:The method queryForInt(String) is undefined for the type JdbcTemplate

报错:The method queryForInt(String) is undefined for the type JdbcTemplate The method JdbcTemplate.qu...
  • LeavingGoose
  • LeavingGoose
  • 2017-07-21 11:21:32
  • 445

The method fromObject(String) is undefined for the type JSONObject

文章转载:http://my.oschina.net/wangwu91/blog/340721 如果有版权问题,请联系我。
  • shaoqianting
  • shaoqianting
  • 2015-07-10 11:39:38
  • 11785

The operator == is undefined for the argument type(s) int, null

package cn.edu.shu.web.test;public class TestInteger { public static void main(String[] args) { ...
  • shijiebei2009
  • shijiebei2009
  • 2015-03-15 15:46:31
  • 11439

SSH实现简单增删改查的功能实例

在网上看到一篇写的很不错的关于SSH 整合实现简单的增删改查功能的实例。 因为也是初次使用SSH框架,通过这样的实例更好的理解SSH框架。对原本的代码进行了修改和优化。如有不足之处,还请指教。 原...
  • shaoqianting
  • shaoqianting
  • 2015-07-22 17:05:37
  • 18503

the method d(string string) is undefined for the type log

类似这种问题一般是缺少对应jar包 下面介绍最简单的导入jar包方法 工程下新建一个文件夹,将对应的jar包拖进去后右击BuildPath-Configure Build Path-OK...
  • yimingsilence
  • yimingsilence
  • 2015-09-19 10:29:08
  • 2353

开发中碰到的问题:The method getSystemService(String) is undefined for the type CourseFragment

【问题】 android程序: ? 1 2 3 4 5 6 7 8 class UsbDeviceStateReceiver extend...
  • qq_24852599
  • qq_24852599
  • 2016-03-16 13:24:25
  • 1401
收藏助手
不良信息举报
您举报文章:The method fromObject(String) is undefined for the type JSONObject
举报原因:
原因补充:

(最多只允许输入30个字)