API出现问题:无法从START_OBJECT令牌\ n

时间:2020-04-30 19:23:17

标签: java resttemplate

我有一个调用API的rest模板。 这应该返回用户名列表,这是调用结果:

{"userName":"user1"}
{"userName":"user2"}
{"userName":"user3"}

如您所见,这实际上不是JSON格式,因此当我调用restTemplate时:

restTemplate.postForObject(MONITORING + QUERY, request, MyCustomClass[].class);

MyCustomClass在哪里:

public class EndpointCallEvents {
    private String userName;
}

我遇到以下错误:

Could not read document: Can not deserialize instance of [mypackage].MyCustomClass[] out of START_OBJECT token \n at [Source: java.io.PushbackInputStream@25d18d7; line: 1, column: 1]

但是如果我在MyCustomClass上不使用数组调用,只会得到一个结果:

restTemplate.postForObject(MONITORING + QUERY, request, MyCustomClass.class);

因此,我尝试使用伪造的JSON:我得到了String结果,将“ [”和“]”放入\ n字符中,最后一个对象除外。 然后,当使用MyCustomClass []。class调用restTemplate时,我将检索MyCustomClass对象的数组。

所以我想知道,如何调用我的restTemplate并将其解析为“真实JSON”或其他内容,以便具有对象数组,并避免首先获取String,然后再对其进行解析等等。

谢谢大家!

0 个答案:

没有答案