java对象转json字符串报错:
net.sf.json.JSONException: JSON does not allow non-finite numbers
at net.sf.json.util.JSONUtils.testValidity(JSONUtils.java:597) ~[json-lib-jdk15-2.4.jar:na]
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:269) ~[json-lib-jdk15-2.4.jar:na]
at net.sf.json.JSONObject._processValue(JSONObject.java:2655) ~[json-lib-jdk15-2.4.jar:na]
原因及解决办法:
Double类型数据为isInfinite()或者isNaN()无法转成JSON字符串,
解决办法
方式一:既然不支持Double类型的值NaN与INFINITY的转换,可以在转换之前把值处理一下。
方式二:通过JsonValueProcessor在转换过程中处理:
日期格式化处理已经在截图中有了,方式和处理Double对象类似