当元素具有空字符串值

时间:2015-08-24 22:37:28

标签: json rest apache-camel typeconverter jettison

我的应用程序使用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)

0 个答案:

没有答案