我在Spring 4.1.4中使用RestTemplate发布到返回JSON的REST API。在JSON响应的一个字段中,有一个带方括号的值,如:
" blah [blah] blah"
当响应被序列化到我的响应对象(一个简单的字符串bean)时,该值不会写入并显示为null。
此外,当我只使用String作为响应对象时,该字段仍为空。
据推测,Jackson HTTP Message转换器或ObjectMapper中正在发生一些事情,但我无法弄清楚原因。
如果我使用像PostMan这样的客户端,则会正确填充该值。此外,对于不包含方括号的同一领域的回复,一切都很好。
任何人都知道任何陷阱?
示例代码:
public SearchResults getSearchResults(final SearchRequest searchRequest) {
SearchResults searchResult = null;
try {
searchResult = restTemplate.postForObject(searchRestUrl, searchRequest, SearchResults.class);
} catch (HttpClientErrorException e) {
//TODO
}
return searchResult;
}
示例json: { "汽车":[ { " carTypeID":1, " carTypeName":"出租车", " supplierCarTypeID":1, " supplierCarTypeName":"出租车[英语(英国)]", " supplierCarOptions":" Taxi", }, ] }