我已经使用 restTemplate 从第三方 API 获取详细信息。
哪里,下面的代码给我一个字符串响应(使用 response.getBody())
ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);
JSON 示例
{"Entries":[{"EntryId":"1","Field1":"1","Field2":"2"},{"EntryId":"2","Field1":"3","Field2":"4"}]}
我还创建了一个名为 Entries 的类,
@JsonIgnoreProperties(ignoreUnknown=true)
public class Entries {
@JsonProperty("EntryId")
private String entryId;
@JsonProperty("Field1")
private String field1;
@JsonProperty("Field2")
private String field2;
//getter and setters
有没有办法使用 RestTemplate 将 JSON Array 与 Entires 类映射?
有两种方式,
[1] 使用 ObjectMapper
ObjectMapper mapper = new ObjectMapper();
Entries obj = mapper.readValue(rrateResponse.getBody(), Entries.class);
[2] 传递 Entries 类
ResponseEntity<Entries> result = restTemplate.exchange(uri, HttpMethod.GET, entity, Entries.class);
唯一缺少的是下面提到的条目。
@JsonIgnoreProperties(ignoreUnknown=true)
public class Entries {
@JsonProperty("Entries")
private List<Entry> Entries;
//getter and setter
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句