我try 在JSON struct 中附加一个新的字段,我需要它放在一个确定的位置,在数组之前,但规范在最后定位该字段. 这是我的JSON原创和Jolt Transform Web中编写的转换代码:

INPUT:

{
  "Id": ">COS",
  "equipment": "ALA",
  "elementId": "M15463",
  "zone": "AMBA",
  "hub": "AVA",
  "terminalServer": "XS0156",
  "Area": "null",
  "timestamp": "1576155950000",
  "collectedData": [
    {
      "name": "llljljiouohh",
      "instance": "X1.M1.YE9.ON18",
      "value": "5",
      "unit": "db"
    }
  ]
}

JSON spec:

[
  {
    "operation": "default",
    "spec": {
      "timestamp_dt": "2022-10-14 15:00"
    }
  }
]

** 结果:**

{
  "Id": ">COS",
  "equipment": "ALA",
  "elementId": "M15463",
  "zone": "AMBA",
  "hub": "AVA",
  "terminalServer": "XS0156",
  "Area": "null",
  "timestamp": "1576155950000",
  "collectedData": [
    {
      "name": "llljljiouohh",
      "instance": "X1.M1.YE9.ON18",
      "value": "5",
      "unit": "db"
    }
  ],
  "timestamp_dt": "2022-10-14 15:00"
}

Expected:

{
  "Id": ">COS",
  "equipment": "ALA",
  "elementId": "M15463",
  "zone": "AMBA",
  "hub": "AVA",
  "terminalServer": "XS0156",
  "Area": "null",
  "timestamp": "1576155950000",
  "timestamp_dt": "2022-10-14 15:00",
  "collectedData": [
    {
      "name": "llljljiouohh",
      "instance": "X1.M1.YE9.ON18",
      "value": "5",
      "unit": "db"
    }
  ]
}

有什么建议吗?谢谢!

推荐答案

您可以在shift转换中以所需的顺序单独编写每个键-值对,例如

[
  {
    "operation": "default",
    "spec": {
      "timestamp_dt": "2022-10-14 15:00"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Id": "&",
      "equipment": "&",
      "elementId": "&",
      "zone": "&",
      "hub": "&",
      "terminalServer": "&",
      "Area": "&",
      "timestamp": "&",
      "timestamp_dt": "&",
      "collectedData": "&"
    }
  }
]

Json相关问答推荐

使用更高级别架构中的字段值在$def内实现约束

如何将加权边列表导出到JSON树?

Jolt变换将字段移动到数组的每个元素中

NiFi QueryRecord处理器- Select 可选的JSON属性

Vega-Lite(Deneb):难以将最小和最大值应用于折线图和文本标签以及线条末尾的点

如果主对象中已存在属性,则不应在Jolt中引用次对象

展平多个数组以保持顺序

使用动态语言jQuery:根据匹配模式提取与其他值匹配的值

如何使用jolt将嵌套数据变成线性数据

正向闪烁后的微调值

将=分隔值文件转换为:json文件

将 json 文件转换为 json 对象会打乱对象的顺序

Oracle Apex - 将 JSON 对象分配给变量以返回

杰克逊 2.0 和 Spring 3.1

使用 JSONObject 在 Java 中为以下 struct 创建嵌套 JSON 对象?

消息通知产生此内容无法显示

在 JSON 对象中强制执行非空字段

TypeError: b'1' 不是 JSON 可序列化的

如何安装 json gem - 无法构建 gem 原生扩展(mac 10.10)

log4j 支持 JSON 格式吗?