我有一个休息终点,它返回List<VariablePresentation>
。我正在尝试将此其余端点测试为
@Test
public void testGetAllVariablesWithoutQueryParamPass() throws Exception {
final ClientRequest clientCreateRequest = new ClientRequest("http://localhost:9090/variables");
final MultivaluedMap<String, String> formParameters = clientCreateRequest.getFormParameters();
final String name = "testGetAllVariablesWithoutQueryParamPass";
formParameters.putSingle("name", name);
formParameters.putSingle("type", "String");
formParameters.putSingle("units", "units");
formParameters.putSingle("description", "description");
formParameters.putSingle("core", "true");
final GenericType<List<VariablePresentation>> typeToken = new GenericType<List<VariablePresentation>>() {
};
final ClientResponse<List<VariablePresentation>> clientCreateResponse = clientCreateRequest.post(typeToken);
assertEquals(201, clientCreateResponse.getStatus());
final List<VariablePresentation> variables = clientCreateResponse.getEntity();
assertNotNull(variables);
assertEquals(1, variables.size());
}
该测试失败,错误提示
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token(..)
如何解决此问题?
这看起来像杰克逊(Jackson)错误,它期望解析一个数组(以“ [”开头),但遇到一个对象(“
{”)的开头标记。通过查看您的代码,我猜测它正在尝试将JSON反序列化到您的List中,但它正在获取对象的JSON。
您的REST端点返回的JSON是什么样的?它应该看起来像这样
[
{
// JSON for VariablePresentation value 0
"field0": <some-value>
<etc...>
},
<etc...>
]
问题内容: 我正在尝试发布自定义对象。我在请求正文中的JSON是这样的: 处理请求的服务器端代码: 实体: 但是抛出一个异常: 问题答案: 问题是JSON-默认情况下不能反序列化为,因为它实际上不是JSON数组-看起来像这样: 由于你没有控制反序列化的确切过程(RestEasy确实如此)- 第一个选择是简单地将JSON作为a注入String,然后控制反序列化过程: 你不必自己进行操作便会失去一些便
我正在尝试发布一个自定义对象的。请求体中的JSON如下所示: 处理请求的服务器端代码: 实体: 但会引发异常:
发送帖子后,我收到400错误 响应为: 当我试图反序列化我的json数据时,我得到了一个异常。如何正确地反序列化JSON? 比尔·恩蒂蒂的文件是: BillController类中处理POST请求的控制器 最后,我的支付实体类:
编辑: 我希望响应到我的logcat中,并在Imageview中获取图像
下面是我的JSON响应, 原因:com.fasterxml.jackson.databind.JSONMappingException:无法反序列化[source:java.io.pushbackInputStream@bce1d9;行:1,列:556]处START_OBJECT标记外的java.util.ArrayList实例(通过引用链:com.totalhours[“data”]->com.
无法将Json反序列化为列表集合。我使用的是Lombok,它保存字段变量: 我该怎么修好它?