【问题标题】:Remove Json element using jackson使用 jackson 删除 Json 元素
【发布时间】:2022-12-05 22:49:56
【问题描述】:

如何使用 Jackson api 从 JSON 下方删除具有值的“产品”元素键

{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ "entpPrtyId": "0019862914", “产品”: [] }

输出将只有,

{ “标题”:{ “id”:“f9b58abf8865418f” }, “有效载荷”:{ “entpPrtyId”:“0019862914” }

【问题讨论】:

    标签: java jackson


    【解决方案1】:

    要使用 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"
      }
    }
    

    【讨论】:

    • 我试过它似乎不起作用,因为在 JsonNode 中不存在删除方法
    猜你喜欢
    • 1970-01-01
    • 2015-03-29
    • 2021-04-30
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    相关资源
    最近更新 更多