我正在创建一个以 json 编码的相对复杂且大型的结构,以发送到 Web 服务。我对 JSON 使用纯 java 和 Apache Wink。大多数请求都很顺利,但在一种特殊情况下,我收到以下错误:
net.sf.json.JSONException: JSON does not allow non-finite numbers
at net.sf.json.util.JSONUtils.testValidity(JSONUtils.java:586)
at net.sf.json.JSONObject._processValue(JSONObject.java:2786)
at net.sf.json.JSONObject._setInternal(JSONObject.java:2817)
at net.sf.json.JSONObject.setValue(JSONObject.java:1527)
at net.sf.json.JSONObject._fromBean(JSONObject.java:946)
at net.sf.json.JSONObject.fromObject(JSONObject.java:194)
at net.sf.json.JSONArray._processValue(JSONArray.java:2562)
at net.sf.json.JSONArray.processValue(JSONArray.java:2593)
at net.sf.json.JSONArray.addValue(JSONArray.java:2580)
at net.sf.json.JSONArray._fromCollection(JSONArray.java:1084)
at net.sf.json.JSONArray.fromObject(JSONArray.java:147)
at net.sf.json.JSONObject._processValue(JSONObject.java:2768)
at net.sf.json.JSONObject._setInternal(JSONObject.java:2817)
at net.sf.json.JSONObject.setValue(JSONObject.java:1527)
at net.sf.json.JSONObject._fromBean(JSONObject.java:946)
at net.sf.json.JSONObject.fromObject(JSONObject.java:194)
at net.sf.json.JSONArray._processValue(JSONArray.java:2562)
at net.sf.json.JSONArray.processValue(JSONArray.java:2593)
at net.sf.json.JSONArray.addValue(JSONArray.java:2580)
at net.sf.json.JSONArray._fromCollection(JSONArray.java:1084)
at net.sf.json.JSONArray.fromObject(JSONArray.java:147)
at net.sf.json.JSONObject._processValue(JSONObject.java:2768)
at net.sf.json.JSONObject._setInternal(JSONObject.java:2817)
at net.sf.json.JSONObject.setValue(JSONObject.java:1527)
at net.sf.json.JSONObject._fromBean(JSONObject.java:946)
at net.sf.json.JSONObject.fromObject(JSONObject.java:194)
at net.sf.json.JSONObject.fromObject(JSONObject.java:156)
at com.ibm.arc.sdm2pmp.wsclient.WSClient.createStaffingPlan(WSClient.java:693)
at com.ibm.arc.sdm2pmp.wsclient.WSClient.sendToPMP(WSClient.java:174)
at com.ibm.arc.sdm2pmp.Gateway.processCase(Gateway.java:129)
at com.ibm.arc.sdm2pmp.Gateway.main(Gateway.java:283)
我一次对整个结构进行编码(大约 10 MB),但在找出导致这个奇怪异常的原因时遇到了问题。我在网上搜索,但无法超越显而易见的。(不要发送非有限的数字)。
您知道如何最好地调试它以及通常会导致什么吗?
非常感谢您的帮助。
平子