【发布时间】:2022-12-05 22:49:56
【问题描述】:
如何使用 Jackson api 从 JSON 下方删除具有值的“产品”元素键
{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ "entpPrtyId": "0019862914", “产品”: [] }
输出将只有,
{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ “entpPrtyId”:“0019862914” }
【问题讨论】:
如何使用 Jackson api 从 JSON 下方删除具有值的“产品”元素键
{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ "entpPrtyId": "0019862914", “产品”: [] }
输出将只有,
{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ “entpPrtyId”:“0019862914” }
【问题讨论】:
要使用 Jackson 从 JSON 中删除具有空数组值的“products”元素,您可以使用 JsonNode 类中的 remove() 方法。这是一个例子:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) throws IOException {
String json = "{"header":{"id":"f9b58abf8865418f"},"payload":{"entpPrtyId":"0019862914","products":[]}}";
// Create an ObjectMapper to parse the JSON
ObjectMapper mapper = new ObjectMapper();
// Parse the JSON and get the root JsonNode
JsonNode root = mapper.readTree(json);
// Get the "payload" JsonNode
JsonNode payload = root.get("payload");
// Remove the "products" element from the "payload" JsonNode
payload.remove("products");
// Print the modified JSON
System.out.println(root.toString());
}
}
这将打印以下 JSON:
{
"header": {
"id": "f9b58abf8865418f"
},
"payload": {
"entpPrtyId": "0019862914"
}
}
【讨论】: