【发布时间】:2021-11-16 06:29:26
【问题描述】:
当我得到结果时,我有这样的休息调用,我得到的是这样的字符串格式,
public String getData(String value) throws ParseException {
final String url = "https://v1/supplier/suggest/{value}";
Map<String, String> params = new HashMap<String, String>();
params.put("value", value);
HttpEntity<?> httpEntity = new HttpEntity<>(this.getAuthHeaders());
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> tpBody = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class, params);
JSONParser parser = new JSONParser();
JSONObject json = (JSONObject) parser.parse(tpBody.getBody());
JSONArray jsonArray = (JSONArray) json.get("data");
if (jsonArray.isEmpty()) {
System.out.println("No Data in JsonArray");
} else {
Object object = jsonArray.get(0);
System.out.println(object.toString());
}
}
}
回应:-
{"value":"DRAGON","datas":9.5}
现在从这个字符串中我只想要数据字段值,比如假设只有 9.5
感谢任何形式的帮助。
【问题讨论】:
-
你需要解析 JSON。您可以使用
javax.json库。 -
您需要解析消息并从该对象中获取所需的字段。我建议查看 JasonPath 库,这将使您的工作变得轻松。它具有解析 Json 字符串并从中获取所需字段的能力。
标签: java spring spring-boot