ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetExce
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetExce相关的知识,希望对你有一定的参考价值。
ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetException] with root cause
1.异常原因:所请求的json数据中包含java.util.date数据类型,但是在后台并没有将其格式转换
2.解决方法:添加工具类DateJsonValueProcessor
import java.text.SimpleDateFormat; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class DateJsonValueProcessor implements JsonValueProcessor{ private String format; public DateJsonValueProcessor(String format) { this.format = format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { return null; } public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { if (value == null) { return ""; } if (value instanceof java.sql.Timestamp) { String str = new SimpleDateFormat(format) .format((java.sql.Timestamp) value); return str; } if (value instanceof java.util.Date) { String str = new SimpleDateFormat(format) .format((java.util.Date) value); return str; } return value.toString(); } }
3.然后在你的controller中写入
JsonConfig cfg = new JsonConfig();
cfg.registerJsonValueProcessor(java.util.Date.class,new DateJsonValueProcessor("yyyy-MM-dd"));
JSONArray json = JSONArray.fromObject(users, cfg);
@RequestMapping("/getAllJsonUser") public void getAllJsonUser(HttpServletResponse response){ List<User> users = userService.listAll(); System.out.println(users); JsonConfig cfg = new JsonConfig(); cfg.registerJsonValueProcessor(java.util.Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); JSONArray json = JSONArray.fromObject(users, cfg); JsonUtils.ajaxJson(json.toString(), response); }
ok,问题解决
以上是关于ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetExce的主要内容,如果未能解决你的问题,请参考以下文章
JSON字符串转换JSON对象,在JS页面转换成功,但是ajax提交json数据,后台解析抛出异常
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exc
com.fasterxml.jackson.databind.exc.MismatchedInputException: