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();
相关推荐
net.sf.json.JSONObject是开源项目Apache Jakarta的一个子项目,提供了一个Java对象到JSON和JSON到Java对象的映射库。这个库允许开发者通过简单的API来操作JSON,从而实现数据的序列化和反序列化。 标题中的...
标题 "net.sf.json.JSONObject相关jar包.zip" 指的是一个包含了与net.sf.json.JSONObject类库相关的Java档案(JAR)文件的压缩包。这个类库是开源项目JSON.org的一部分,用于在Java应用程序中处理JSON(JavaScript ...
在Java开发中,`net.sf.json.JSONObject` 是一个常用的JSON对象模型类,它来自于开源项目json-lib。这个库提供了一种方便的方式来处理JSON(JavaScript Object Notation)数据格式,允许我们在Java应用程序中创建、...
这篇博客文章"net.sf.json.JSONObject实现Object对象与Json字符串的互转"深入探讨了如何使用`JSONObject`来处理这种转换。 首先,我们需要了解`JSONObject`的基本用法。`JSONObject`可以从一个Java对象创建,也可以...
"net.sf.json.JSONObject"是开源项目json-lib中的一个核心类,它提供了用于处理JSON对象的功能。这个Jar包是为Java开发者提供的一种便捷的方式来在Java对象与JSON数据之间进行转换。 JSONObject是net.sf.json库中的...
在Java开发中,处理JSON数据时通常会用到一些库,如`com.alibaba.fastjson.JSON` 和 `net.sf.json.JSONObject`。这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`...
在Java开发中,数据交换和存储常常涉及到JSON...以上就是使用`net.sf.json.JSONObject`进行JSON操作的基本步骤和进阶技巧。在实际开发中,你可能还需要结合其他工具,如Gson或Jackson,根据项目需求选择合适的JSON库。
`net.sf.json.JSONObject` 是一个广泛使用的开源JSON库,它为Java开发者提供了处理JSON对象的能力。这个库在很多项目中被用作与JSON数据交互的工具,尤其在那些不使用现代Java版本(如Java 8及以上)或者不依赖更...
net.sf.json.JSONObject所需要的jar包 commons-beanutils-1.9.3.jar commons-collections-3.2.2 commons-lang-2.6 commons-logging-1.2 ezmorph-1.0.6 json-lib-2.4-jdk15
`net.sf.json`库提供了对JSON(JavaScript Object Notation)数据格式的支持,允许Java对象与JSON格式之间进行互转。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 `...
java开发中需要jsonObject,jsonArray需要用到6个jar包,net.sf.json.JSONObject commons-beanutils-1.7.0.jar commons-collections-3.1.jar commons-lang-2.5.jar commons-logging.jar ezmorph-1.0.3.jar json-lib-...
在Java开发中,`net.sf.json.JSONObject` 是一个常用的JSON对象模型类库,它属于`json-lib`项目的一部分。这个类库允许开发者在Java中处理JSON数据,进行序列化和反序列化操作。然而,为了能够正确使用`JSONObject`...
在Java开发领域,多种库支持JSON的解析和生成,其中`net.sf.json.JSONObject`是较为常用的一种实现。 #### JSON概述 JSON是一种基于文本的数据交换格式,主要包括两种结构:一种是“名称/值”对的集合,另一种是值...
此外,`net.sf.json.JSONObject`还提供了丰富的API,如获取、设置值,以及操作嵌套的JSON对象和数组等。例如,可以使用`getString()`, `getInt()`, `put()`等方法与JSON对象进行交互: ```java String name = ...
`net.sf.json.JSONObject`是Java中一个常用的JSON处理库,主要由开源组织json-lib提供。在处理JSON数据时,我们经常遇到与`net.sf.json.JSONObject`相关的各种问题,包括序列化、反序列化、解析JSON字符串以及操作...
4. **XML与JSON的互转**:`net.sf.json`库还包括了XML和JSON之间的转换功能,这在需要在两种格式间切换的场景下非常实用。 5. **性能优化**:库的设计考虑了性能问题,采用了一些优化策略,如缓存机制,以提高大...
`net.sf.json.JSONArray`是开源项目Apache licensed Json-lib的一部分,它提供了对JSON数组的操作支持,如创建、读取、修改和遍历数组。 描述中提到了"JSONObject等",这暗示除了`JSONArray`之外,可能还需要`...
通过JSONObject json = JSONObject.fromObject(student);将构造好的Student对象转换为JSON对象,Student如上文所述。 进入此方法后会继续调用fromObject(Object, JsonConfig)的重载方法,在此重载方法中会通过...
标题中的"net.sf.json需要的jar"指的是在Java开发中使用net.sf.json库时所需的依赖JAR文件。net.sf.json是开源项目,它提供了一系列的API来处理JSON(JavaScript Object Notation)数据格式,便于Java应用程序与JSON...