当前位置: 首页 > 知识库问答 >
问题:

使用jolt从json中删除和打印名称/值对

赵禄
2023-03-14

我想从json数组中删除一个名称/值对,并将其打印到外部。我从尝试这个开始,然后将整个请求扩展为json数组。上述解决方案似乎不起作用。

输入:

[
  {
    "createdBy": "Admin",
    "createdDate": "2022-09-08",
    "modifiedBy": "Admin",
    "attrs": [
      {
        "name": "Type",
        "value": "Postpaid"
      },
      {
        "name": "subscriber",
        "value": "Paid"
      },
      {
        "name": "Details",
        "value": {
          "createdDate": "today",
          "description": "offer",
          "id": null
        }
      }
    ],
    "relatedInfo": [
      {
        "type": "Number",
        "name": "000000"
      },
      {
        "type": "Type",
        "name": "Post"
      }
    ]
  },
  {
    "createdBy": "Admin",
    "createdDate": "2022-09-08",
    "modifiedBy": "Admin",
    "attrs": [
      {
        "name": "Type",
        "value": "Postpaid"
      },
      {
        "name": "subscriber",
        "value": "Paid"
      },
      {
        "name": "Details",
        "value": {
          "createdDate": "today",
          "description": "offer",
          "id": null
        }
      }
    ],
    "relatedInfo": [
      {
        "type": "Number",
        "name": "000000"
      },
      {
        "type": "Type",
        "name": "Post"
      }
    ]
  }
]

期望输出:

[
  {
    "createdBy": "Admin",
    "createdDate": "2022-09-08",
    "modifiedBy": "Admin",
    "attrs": [
      {
        "name": "Type",
        "value": "Postpaid"
      },
      {
        "name": "subscriber",
        "value": "Paid"
      }
    ],
    "Details": {
      "createdDate": "today",
      "description": "offer",
      "id": null
    },
    "relatedInfo": [
      {
        "type": "Number",
        "name": "000000"
      },
      {
        "type": "Type",
        "name": "Post"
      }
    ]
  },
  {
    "createdBy": "Admin",
    "createdDate": "2022-09-08",
    "modifiedBy": "Admin",
    "attrs": [
      {
        "name": "Type",
        "value": "Postpaid"
      },
      {
        "name": "subscriber",
        "value": "Paid"
      }
    ],
    "Details": {
      "createdDate": "today",
      "description": "offer",
      "id": null
    },
    "relatedInfo": [
      {
        "type": "Number",
        "name": "000000"
      },
      {
        "type": "Type",
        "name": "Post"
      }
    ]
  }
]    

当前Jolt规格:

[
  {
    "operation": "shift",
    "spec": {
      "*": "[&]",
      "attrs": {
        "*": {
          "name": {
            "*": { "@2": "&4" },
            "Details": {
              "@(2,value)": "&1"
            }
          }
        }
      }
    }
  }
]

我似乎不知道在数组的情况下,震动规格会发生什么变化

共有1个答案

陆飞捷
2023-03-14

到目前为止一切顺利,只需要在一个公共节点上组合属性。为此,我使用了标识符< code>[

json prettyprint-override">[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "[&1].&",
        "attrs": {
          "*": {
            "name": {
              "*": { 
                "@2": "[&5].&4" 
              },
              "Details": {
                "@(2,value)": "[&5].&1"
              }
            }
          }
        }
      }
    }
  }
]
 类似资料:
  • 问题内容: 我在PHP中有一个POST,但我并不总是知道将要处理的变量字段的名称。 我有一个可以遍历值的函数(但是我也想捕获它附带的变量名。) 一旦弄清楚如何获取变量名,我还需要弄清楚如何使函数足够智能以检测和遍历变量的数组(如果存在)(即如果我有一些复选框值)。 问题答案: 如果您只想打印整个$ _POST数组以验证是否正确发送了数据,请使用print_r: 要递归打印数组的内容: 将一些填充应

  • 我正在尝试将下面的JSON转换为名称值对: 应为输出JSON: 我使用了以下jolt规范,但是< code>RecordType元素的转换不符合预期: 颠簸规格 : 如何将其转换为所需的格式?

  • 我有一个jsp网页。我需要删除用户名从数据库当我按删除按钮从网页。我尝试了下面的代码,但是我不能删除名称,而是在用户名数据库中插入一个新行和一个空值。 unblockServlet.java: 受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{//TODO自动生成的方法

  • 问题内容: 这只是我需要访问的一小部分JSON代码… 我在打印嵌套JSON值时遇到问题。如果我想打印“ fcttext”,我该怎么做?我已经尝试过了… 我究竟做错了什么?完整的JSON代码。 问题答案: 首先,您的json不正确,请使用jsonlint [1]检查json的格式是否正确。 将JSON重新格式化为以下格式, 使用以下代码进行解析, 我已经使用Google的GSON [2]库来解析JS

  • 目前我有以下输入json。我想提取值为attrs.name = Details的对象,并将其附加到输出json中(在attrs数组之外)。目前,虽然我能够将它附加到输出JSON中,但我仍然在attrs中得到该对象的副本。我想要这个副本被删除。 输入 JSON : 属性。name=“详细信息”可以在attrs中按任意顺序排列 输出量的希望值 电流输出 使用的颠簸规格 有没有办法删除仍在 attrs

  • 问题内容: 我有一个需要打开并进行一些更改的xml文件,其中之一是删除名称空间和前缀,然后保存到另一个文件。这是xml: 我可以进行所需的其他更改,但是找不到如何删除名称空间和前缀的方法。这是我需要的reusklt xml: 这是我的脚本,它将打开并解析xml并将其保存: 那么,如何在脚本中添加代码以删除名称空间和前缀呢? 问题答案: 按照Uku Loskit的建议替换标签。除此之外,请使用lxm