我有一个域类树,我想通过深度转换器转换为JSON:
import grails.converters.deep.JSON
deepObject as JSON
树中的某处我在某些字段中有Double.NaN值,而JSON解析器抛出异常:
org.apache.commons.lang.UnhandledException: org.codehaus.groovy.grails.web.converters.exceptions.ConverterException: org.codehaus.groovy.grails.web.json.JSONException: JSON does not allow non-finite numbers
我该如何处理这个案子?可能会返回一个字符串('NaN')。
我尝试重新调整 JSONObject.testValidity(Object o)方法,但这是一个pojo,所以它不起作用。
修改的
我还试图在Bootstrap.groovy中注册一个编组:
JSON.registerObjectMarshaller(Double) {
return it == Double.NaN ? 'NaN' : it.toString()
}
但它也不会起作用。