json-lib将对象转化为json格式的数据时抛出net.sf.json.JSONException: va.lang.reflect.InvocationTargetException异常一般有两种情况:
1、hibernate的延时加载
解决方法:
JsonConfig jsonConfig = new JsonConfig(); cfg.setExcludes(new String[]{"handler","hibernateLazyInitializer"});
2、日期格式问题
解决方法:
jsonConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());
JsonDateValueProcessor.java
package com.gdin.anta.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class JsonDateValueProcessor implements JsonValueProcessor { /** * datePattern */ private String datePattern = "yyyy-MM-dd"; /** * JsonDateValueProcessor */ public JsonDateValueProcessor() { super(); } /** * @param format */ public JsonDateValueProcessor(String format) { super(); this.datePattern = format; } /** * @param value * @param jsonConfig * @return Object */ public Object processArrayValue(Object value, JsonConfig jsonConfig) { return process(value); } /** * @param key * @param value * @param jsonConfig * @return Object */ public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { return process(value); } /** * process * @param value * @return */ private Object process(Object value) { try { if (value instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(datePattern, Locale.UK); return sdf.format((Date) value); } return value == null ? "" : value.toString(); } catch (Exception e) { return ""; } } /** * @return the datePattern */ public String getDatePattern() { return datePattern; } /** * @param pDatePattern the datePattern to set */ public void setDatePattern(String pDatePattern) { datePattern = pDatePattern; } }
相关推荐
`net.sf.json.JSONObject`是开源库Apache Commons的一个组件,提供了Java对象与JSON对象之间的转换功能。下面将详细阐述如何使用`JSONObject`进行JSON操作。 ### 1. 解析JSON字符串 当你从服务器获取或从文件读取...
标题 "net.sf.json.JSONObject相关jar包.zip" 指的是一个包含了与net.sf.json.JSONObject类库相关的Java档案(JAR)文件的压缩包。这个类库是开源项目JSON.org的一部分,用于在Java应用程序中处理JSON(JavaScript ...
7. **错误处理**:当解析JSON字符串或生成JSON对象时,如果遇到问题,`net.sf.json`会抛出异常,如`JSONException`,帮助开发者定位并解决问题。 总之,`net.sf.json`是一个强大的Java JSON处理库,它提供了一整套...
Fastjson是阿里巴巴提供的一款高性能的JSON解析和生成库,它广泛应用于Java开发中。这个错误表明在尝试将一个对象转换为JSON格式时遇到了问题,具体来说,它表示在JSON对象的起始位置期望找到一个冒号(:),但实际...
在Java开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛用于服务器与客户端之间的数据传输。为了方便Java开发者处理JSON数据,出现了各种JSON库,其中`org.json.jar`就是一个非常...
使用这个库,开发者可以轻松地在Java应用中处理JSON数据,无论是解析JSON字符串成Java对象,还是将Java对象转换为JSON格式,都能高效便捷地完成。在实际开发中,理解并熟练掌握JSON的语法以及如何利用`json.jar`进行...
在Java世界中,`net.sf.json`库是一个流行的JSON处理库,它提供了方便的API来解析、生成、操作JSON对象。这个库特别适用于那些需要快速实现JSON功能的项目。 `net.sf.json`库包括多个jar包,这些jar包包含了处理...
`org.json`是Java平台上的一个开源库,它提供了一系列API,方便开发者对JSON进行解析、创建和操作。这个资源包`org.json.jar`正是这个库的实现,它包含了一系列的类和方法,使得在Java程序中处理JSON变得简单。 `...
在Java开发中,`org.json.JSONObject` 是一个广泛使用的库,用于处理JSON(JavaScript Object Notation)数据。这个库提供了一系列方法,使得开发者能够轻松地将JSON字符串转换为Java对象,反之亦然。`org.json....
2. `json-lib-2.4-jdk15.jar`:这是一个基于Net.sf.json的库,适用于多种Java环境,包括JDK1.5。它提供了与json.jar和org.json.jar类似的功能,同时也支持其他数据源,如DOM、SAX和Hibernate。 3. `json-path-0.8.1...
如果需要解析的数据间存在级联关系,而互相嵌套引用,在hibernate中极容易嵌套而抛出net.sf.json.JSONException: There is a cycle in the hierarchy异常。
标题中的"org.json最新版本jar包(2017.10.18)"指的是一个特定版本的Java开发库,用于处理JSON(JavaScript Object Notation)数据格式。JSON是一种轻量级的数据交换格式,广泛应用于Web服务和客户端应用程序之间...
`org.json.jar` 包是Java开发中广泛使用的开源库,主要用于处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,因其简洁、易于读写和解析的特性,被广泛应用在Web服务和应用程序之间进行...
标题中的“org.json的依赖包”指的是一个与Java开发相关的依赖包,主要包含了处理JSON(JavaScript Object Notation)数据的类库。JSON是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。org...
`org.json.JSONObject`是Java编程语言中用于处理JSON(JavaScript Object Notation)数据的一个轻量级库。这个库由Mozilla Public License提供,广泛应用于需要在Java应用中进行JSON解析、生成和操作的场景。JSON是...
org.json.JSONObject的6个jar包 commons-beanutils;commons-collections;commons-lang;commons-logging;ezmorph;json-lib
`org.json` Jar包是Java开发中常用的JSON处理库,由`org.json`组织提供,主要用于解析、生成和操作JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的...
- `net.sf.json.JSONSerializer`和`net.sf.json.JSONDeserializer`:这两个类分别用于将Java对象序列化为JSON和将JSON反序列化为Java对象。 2. **转换方法**: - `toJSON()`:将Java对象转换为JSON对象,如`...