从 JsonObject 中删除元素

时间:2021-03-08 21:11:46

标签: java json

我想保留第一个附加属性(不同级别有几个附加属性)并删除其他属性:

{
  "$schema": "http://json-schema.org/draft-03/schema",
  "type": "object",
  "description": "Test.",
  "additionalProperties": true,
  "properties": {
    "spec": {
      "type": "object",
      "description": "reference spec",
      "additionalProperties": true,
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 256
        }
      }
    },
    "spec1": {
      "type": "array",
      "description": "reference spec2",
      "items": {
        "type": "object",
        "description": "specblabla.",
        "additionalProperties": true,
        "properties": {
public void printJsonObject(JsonObject jsonObj)
{
    jsonObj.keySet().forEach(keyStr ->
    {
        Object keyvalue = jsonObj.get(keyStr);
        System.out.println("key: "+ keyStr + " value: " + keyvalue);
           if(keyStr.equals("additionalProperties"))
           {
            jsonObj.remove("additionalProperties");
           }

           //for nested objects iteration if required
           if (keyvalue instanceof JsonObject)
           {
               printJsonObject((JsonObject)keyvalue);
           }
       });
}

如何在 Java 中执行此操作,我尝试使用此代码,但给出了一个错误,即我无法排除元素应有的交互。 我试图遍历 json 但无法删除它!

提前致谢!

0 个答案:

没有答案
相关问题