我有一个调用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,然后再对其进行解析等等。
谢谢大家!