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

如果json中不存在,则Jolt转换添加默认值键值对

长孙承嗣
2023-03-14

理想情况下,输入文件应为以下架构:

{
  "Name1": {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
  }
}

理想输出:

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

理想情况下,Key1、key2、key3 应该在那里,但在某些情况下,其中一个或全部可能不存在。示例场景:

{
  "Name1": {
    "key1": "value1"
  }
}

输出:

{
  "key1": "value1",
  "key2": "",
  "key3": ""
}

因此,即使该字段不存在,也不要忽略这些字段,只需将其替换为空字符串。通常Jolt转换会忽略不存在的字段。

请帮我解决这个问题。

共有1个答案

田镜
2023-03-14

顾名思义,您所需要的是通过默认转换来实现的,如下所示

json prettyprint-override">[
  {
    "operation": "default",
    "spec": {
      "Name1": {
        "key1": "",
        "key2": "",
        "key3": ""
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Name1": {
        "*": "&"
      }
    }
  }
]

演示在http://jolt-demo.appspot.com/网站上

 类似资料:
  • 我正在尝试使用JOLT进行JSON转换,我想我已经很接近了,但是我不能做的是为每个当前没有出现的字段添加一个新字段。 我已经阅读了很多教程,下面的代码是我希望能够工作的。然而,它似乎没有添加到新的“名称”字段中。 这是我的震撼: 这是输出: 我希望它是这样的: 谁能告诉我哪里出错了?显然,默认值用于添加新项目,但它似乎没有执行任何操作。

  • 问题内容: 我有一个钥匙型课。让我们称为map的实例。 我要添加{ ,}(是的一个实例,并且一)该地图。但是,如果键已经存在,我想求和该映射图中的当前值。 目前我使用 但是在Java 8中是否有一种时髦的方式来做到这一点,例如使用和? 遗憾的是我无法弄清楚。 谢谢。 问题答案: 这就是地图上的合并功能的作用。 这可以进一步减少到 它基本上等于

  • 我需要使用jolt转换来执行以下JSON转换: 需要取下钥匙: 和 要更改密钥的名称: 到 要拆分键:值键的字符串值,请虚拟: 示例: to 和 输入 JSON 为: 输出JSON为:

  • 我在下面输入< code>JSON: 但是,输出 应类似,并且仅添加默认值: 这是我的规范: 我应该编辑<code>JOLT</code>规范,但我不明白(默认字段名、姓和状态如何工作。created可以添加为“created”:“@(3,ninjaed in time)”

  • 我需要使用jolt spec在JSON中将(多个)键转换为值,将值转换为键。做这件事的正确规范应该是什么? 输入: 所需输出:

  • 因为匹配器“*”丢弃简单键值对。我知道我错过了什么。有人帮忙吗?