Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 驼峰restlet Json集成问题_Java_Json_Restlet - Fatal编程技术网

Java 驼峰restlet Json集成问题

Java 驼峰restlet Json集成问题,java,json,restlet,Java,Json,Restlet,我尝试在camel中使用restlet。请求应该是JSON。但不知道如何将JSON转换为java对象。以下是代码示例: 客户请求: $.ajax({ url: '${pageContext.request.contextPath}/rs/search?restletMethod=POST', type: "POST", data: $('#searchRequest').serializeArray(), contentType: "application/json;charset=u

我尝试在camel中使用restlet。请求应该是JSON。但不知道如何将JSON转换为java对象。以下是代码示例:

客户请求:

$.ajax({
     url: '${pageContext.request.contextPath}/rs/search?restletMethod=POST',
type: "POST",
data: $('#searchRequest').serializeArray(),
contentType: "application/json;charset=utf-8",
dataType: "html",
success: function (result) 
{
 $("#result #queryId").text(result);
},
error: function (xhr, ajaxOptions, thrownError) {
 alert(xhr.status);
 alert(thrownError.Message);
 }
});
RouterBuilder:

from("restlet:/search?restletMethod=POST").unmarshal("gson")
     .to("bean:restletHandler");
camelcontext.xml

<bean id="gson" class="org.apache.camel.component.gson.GsonDataFormat">    
    <property name="unmarshalType" value="domain.SearchRequest"/>
</bean> 

我得到了以下例外情况:

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_对象,但在第1行第1列为字符串

交换中的主体类型为org.restlet.engine.io.UnclosableInputStream 看起来像:

性别=女性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&说明请求创建日期所有者状态完成日期计数

正文中的流看起来不像Json,所以gson不知道如何将其转换为对象。 任何帮助都将不胜感激


谢谢,

使用JSON.parse(),内容类型必须设置为application/JSON

谢谢您的回复!当我将数据传递为:{“demographics.sex”:[“femal”、“male”、“unknown”],“demographics.race”:“indian”、“medicines.includeCodes”:[“2345”、“4567”],“medicings.excludeCodes”:“4567”、“diagnosis.includeCodes”:[“250.00”、“410.90”、“401.9”],“description”:“cxzcxzcxzcxzc”、“gender”:“}时,在“gson”之后创建的对象缺少字符串数组: