最近用.Net和Java服务端通信,发现生成JSON时,json-lib自动把所有String中的null,转换成空串"",看源码发现是net.sf.json.processors.DefaultDefaultValueProcessor类中。默认就返回"",Number类型自动返回0。如下:
public class DefaultDefaultValueProcessor implements DefaultValueProcessor {
public Object getDefaultValue( Class type ) {
if( JSONUtils.isArray( type ) ){
return new JSONArray();
}else if( JSONUtils.isNumber( type ) ){
if( JSONUtils.isDouble( type ) ){
return new Double( 0 );
}else{
return new Integer( 0 );
}
}else if( JSONUtils.isBoolean( type ) ){
return Boolean.FALSE;
}else if( JSONUtils.isString( type ) ){
return "";
}
return JSONNull.getInstance();
}
}
修改源码改成如下即可。
// return "";
return null;
对于其他类型默认值也可以根据需要修改。
分享到:
相关推荐
这个版本的库解决了在Java中将Java对象转换为JSON对象以及反向转换的问题,特别是对于特定数据结构如`JsonObject`和`JsonArray`的处理。 描述中提到的`JsonObject.fromObject()`方法是json-lib中用来将一个Java对象...
8. **错误处理**:在使用JSON-lib进行转换时,可能会遇到类型不匹配、null值处理等问题,需要正确捕获和处理可能出现的异常。 9. **与其他技术的集成**:JSON-lib可以很好地与Spring框架、Servlets以及其他Java Web...
此外,理解JSON-Lib对于null值的处理也很重要,因为JSON规范规定null值是有效的,但在Java中可能需要特殊处理。 总之,JSON-Lib作为一个强大的JSON处理工具,能够简化Java开发中的数据交换过程。有了`json-lib.jar`...
默认情况下,`json-lib`会尝试自动映射Java对象的字段到JSON键值对。例如,如果你有一个名为`Person`的类: ```java public class Person { private String name; private int age; // getters and setters } `...
你可以使用`XML.toJSONObject(xmlString)`将XML字符串转换为JSON对象,或者用`JSONObject.toXML(jsonObject)`将JSON对象转换为XML字符串。 在实际使用中,你可能需要处理嵌套的对象和数组,或者包含复杂类型的JSON...
在实际使用中,注意JSON-LIB对null值的处理,有些版本默认会忽略null值。如果需要包含null,可能需要配置转换器或使用特定方法。 总之,JSON-LIB是一个强大的Java库,为处理JSON数据提供了便利。通过了解其基本...
`json-lib` 是一个 Java 库,它提供了将 Java 对象转换为 JSON 格式以及将 JSON 解析回 Java 对象的功能。这篇博客文章将探讨 `json-lib` 的使用方法和关键特性。 首先,`json-lib` 支持多种类型的 Java 对象转换,...
通过JSON-lib,开发者可以轻松地将Java对象转换为JSON字符串,或者将JSON文本解析成Java对象。 ### JSON的基本概念 - **JSON对象**:由键值对组成,用花括号`{}`包围。每个键由一个字符串和冒号分隔,后面跟着对应...
java处理json字符串所使用的jar包; 相关代码: String temp="{'data':{'a':[{'b1':'bb1','c1':'cc1'},{'b2':'bb2','c2':'cc2'}]}}"; JSONObject jodata =JSONObject.fromObject(temp); JSONObject joa =JSONObject....
`json-lib`库支持将Java对象转换为JSON字符串,反之亦然,使得Java应用能够方便地与JSON数据交互。 另一个提到的依赖是`ezmorph-1.0.6.jar`,这是一个Java库,主要用于对象的动态转型。在处理JSON时,有时候我们...
总结,json-lib库提供了方便的方法来处理JSON数据,包括将JSON字符串解析为Java对象、将Java对象序列化为JSON字符串,以及在Java对象和JSON数组之间转换。这些功能对于在Java应用程序中处理JSON数据非常有用,特别是...
在Java中,为了方便地将Java对象转换为JSON格式以及将JSON字符串解析为Java对象,通常会使用特定的库,如"json-java对象转换包"所提及的json-lib。json-lib是一个Java库,它提供了将Java对象转换为JSON格式,以及将...
以下是一些使用json-lib将Java数据结构转换为JSON的例子: 1. 将List集合转换为JSON: ```java List<String> list = new ArrayList(); list.add("first"); list.add("second"); JSONArray jsonArray2 = JSONArray....
但`json-lib.jar`作为早期的解决方案,对于理解JSON处理的基本概念和流程仍然有其价值。 总结来说,`json-lib.jar`是Java中处理JSON的一种工具库,提供将Java对象转换为JSON字符串和反向转换的功能。虽然现代的JSON...
在Java中,有很多库可以帮助我们处理JSON,其中`json-lib`是一个常用的库,它提供了将Java对象转换为JSON字符串以及将JSON字符串解析为Java对象的功能。本教程将围绕`json-lib`库,介绍如何在Java中进行JSON操作。 ...
然后,你可以使用`JsonBeanUtil`类的`jsonString()`方法将Java对象转换为JSON字符串: ```java Person person = new Person(); person.setName("John"); person.setAge(30); person.setCity("New York"); String ...
- Java null -> JSON null 3. **Java对象与JSON字符串转换** - 将Java对象转换为JSON字符串: ```java JSONObject jsonObject = JSONObject.fromObject(yourJavaObject); String jsonString = jsonObject....
JSON库“Json_lib_MDd_MT”专为x86架构设计,MT可能指的是多线程(Multi-Threaded)支持,这意味着该库可以在多线程环境中安全地处理JSON数据。 JSON库在软件开发中扮演着重要角色,特别是在网络应用中,因为服务器...