[英]Convert json with key dynamic to POJO.. java spring boot
我需要將 json 轉換為 pojo 我已經擁有使用它的服務,但我想將它帶到 POJO 以便能夠處理它
這都是 Json:
{
"meta": {
"status": "success",
"version": "2.0"
},
"data": {
"id": "M!t!Ch!v1!0000100002-5gda5bq0059b1-1245432868",
"token": "d71b160d82dfeeca87aa580f526d8570",
"privileges": {
"__GLOBAL__": {
"Store": {
"1-m!i!s-045-158": {
"*": -1
},
"1-m!i!s-047-324": {
"*": -1
},
"1-m!i!s-031-1491": {
"*": -1
},
"1-m!i!s-046-2": {
"*": -1
}
}
}
},
"data": {
"accessorId": 100001
}
}
}
這部分所有鍵都是動態的:
"1-m!i!s-045-158":{"*":-1} // **the key: 1-m!i!s-045-158 is dinamic**
{"1-m!i!s-045-158":{"*":-1},"1-m!i!s-047-324":{"*":-1},"1-m!i!s-031-1491":{"*":-1},"1-m!i!s-046-2":{"*":-1}}
這是我的 controller
public JsonNode Evento(JsonNode json) {
HttpHeaders header = new HttpHeaders();
//header.add("Content-Type", "application/json");
RestTemplate template = new RestTemplate();
JsonNode node = mapper.convertValue(json , JsonNode.class);
HttpEntity<?> request = new HttpEntity<>(node);
JsonNode resultado = template.postForObject("http://localhost:8083/moddo-channels/api/miinto", request, JsonNode.class);
System.out.println(json.findPath("stote"));
System.out.println(resultado);
return json;
}
您必須使用所有字段編寫 POJO,
private Meta meta;
和
public class Meta{
private String status;
private String version;
}
等這種風格,問題可能出在商店 - 它必須是 Map
在此之后,您可以使用 Jackson ObjectMapper 並從您的響應中讀取 object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.