我的应用程序使用camel rest(2.15.2)来捕获POST json String,然后使用jettison转换为JSON对象。它正常工作正常。
POST request: {"request"={"lname"="aaa", "fname"="bb"}}
1. String body = exchange.getIn().getBody(String.class);
2. JSONObject obj = new JSONObject(body);
当我调试时,变量body = {request={lname=aaa, fname=bb}}
。
第2行返回一个JSONObject。到目前为止一切顺利
如果我们尝试另一个请求:
{"request"={"lname"=" ", "fname"="aa"}}
然后body = {request={lname= , fname=aa}}
line2返回Exception。
你能帮我解决这个问题吗:将包含element的json字符串转换为json对象的空值字符串。
上述请求在我的方案中是可以接受的。
错误:
org.codehaus.jettison.json.JSONException:缺少值。在性格上 {request = {lname =,fname = aa}}中的15个 org.codehaus.jettison.json.JSONTokener.syntaxError(JSONTokener.java:463) 在 org.codehaus.jettison.json.JSONTokener.nextValue(JSONTokener.java:356) 在org.codehaus.jettison.json.JSONObject。(JSONObject.java:230) 在 org.codehaus.jettison.json.JSONTokener.newJSONObject(JSONTokener.java:412) 在 org.codehaus.jettison.json.JSONTokener.nextValue(JSONTokener.java:327) 在org.codehaus.jettison.json.JSONObject。(JSONObject.java:230) 在org.codehaus.jettison.json.JSONObject。(JSONObject.java:311)