首页天道酬勤jsonobject转list对象,jsonobject转对象

jsonobject转list对象,jsonobject转对象

张世龙 05-05 22:19 87次浏览

在最近的项目中,需要将list传输到json并返回到页面显示,因此出现了问题:

net.SF.JSON.JSON exception : Java.lang.reflect.invocationtargetexceptionatnet.SF.JSON.JSON object._ frombbbect ject.Java:182 ) at net.SF.JSON.JSON object._ process value ) JSON.jsononobject._ process value at net.SF.JSON at net.SF.JSON.JSON object.setvalue ) JSON at net.SF.JSON.JSON object._ from bean (JSON object.Java 3360725 ) at NECT at net.SF.JSON.JSON array._ process value (JSON array.Java 33602294 ) at net.SF.JSON.JSON array.process value ) jsson . Java33602312 ) at net.SF.JSON.JSON array._ from collection ) jsom at net.SF.JSON.JSON array.from object (JSON arararay

谷歌一下后,发现list的数据有java.sql.date类型,json的转换需要java.util.date。 所以转换报告错误。 list中的数据包含java.sql.time时也有同样的错误。 别多嘴,说一下怎么解决。 JSON jar包提供了一种扩展JSON转换处理类的方法。 扩展类必须实现JsonValueProcessor,代码如下

导入Java.SQL.time;

导入Java.text.simple date format;

import java.util.Date;

import java.util.Locale;

import net.sf.json.JsonConfig;

import net.SF.JSON.processors.jsonvalueprocessor;

publicclassjsondatevalueprocessorimplementsjsonvalueprocessor {

隐私保护格式=' yyyy-mm-ddhh : mm : ss ';

隐私保护格式2=' hh : mm : ss ';

publicobjectprocessarrayvalue (对象值,JSON配置配置) {

返回进程(value;

}

publicobjectprocessobject value (字符串密钥、对象值、JSON配置配置) {

返回进程(value;

}

私有对象处理(对象值) {

if(valueinstanceofdate ) {

simpledateformatsdf=newsimpledateformat (格式,Locale.UK;

返回SDF.format (value;

}

价值执行时间(if ) {

simpledateformatsdf=newsimpledateformat (格式2,Locale.UK;

返回SDF.format (value;

}

返回值==null? ' ' : value.toString (;

}

}

转换JSON时如下所示。

jsonobjectjsonarray=newjsonobject (;

jsonconfigjsonconfig=newjsonconfig (;

JSON config.registerjsonvalueprocessor (Java.util.date.class,new JsonDateValueProcessor ) );

Jon config.registerjsonvalueprocessor (Java.SQL.time.class,new JsonDateValueProcessor ) );

jsonarrayjsonobj=JSON array.from object (userlist,jsonConfig );

jsonobject转list对象,json转换成list