我有下面的震荡input:

{
  "pnum": "4545",
  "clascode": null,
  "retun": "NN",
  "skcmm": [
    "AA",
    "EE",
    "KN",
    "NH",
    "NL"
  ]
}

我的current spec:

[
  {
    "operation": "shift",
    "spec": {
      "*": "&"
    }
  },
  {
    "operation": "modify-default-beta",
    "spec": {
      "SMS_SPMFORMAT": "${spm_format}",
      "SMS_PRODUCTIONFORMAT": "${partNumberConverted}"
    }
  }
]

目前的output:

{
  "pnum" : "4545",
  "clascode" : null,
  "retun" : "NN",
  "skcmm" : [ "AA", "EE", "KN", "NH", "NL" ],
  "SMS_SPMFORMAT" : "${spm_format}",
  "SMS_PRODUCTIONFORMAT" : "${partNumberConverted}"
}

但前expected output名是:

{
  "pnum" : "4545",
  "clascode" : null,
  "retun" : "NN",
  "skcmm" : "AA,EE,KN,NH,NL",
  "SMS_SPMFORMAT" : "${spm_format}",
  "SMS_PRODUCTIONFORMAT" : "${partNumberConverted}"
}

我需要删除列表的square brackets,并将其添加为带有双引号的字符串. 你能帮帮忙吗.

推荐答案

在将modify转换从103转换为104之后,您可以对101使用join函数,以便覆盖现有的101值,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "SMS_SPMFORMAT": "${spm_format}",
      "SMS_PRODUCTIONFORMAT": "${partNumberConverted}",
      "skcmm": "=join(',',@(1,&))" // concatenates the components of the array comma-separatedly
    }
  }
]

顺便说一句,使用现有的shift转换是多余的,它精确地复制了整个内容.

现场http://jolt-demo.appspot.com/上的101个是:

enter image description here

Json相关问答推荐

如何在对象投影(*)上应用滤镜投影([?port==`eth1`])?

JSON:将项';S键/名称移动到属性中,并使用JQ将其转换为数组

如何获取 JSON 对象字段值和同一 JSON 对象的下一个数组中的字段值?

Delphi 11.3无法从变体创建/添加JSON

jq :当路径可变时更新 json 内容

使用 jq 将非统一的 json 输出转换为汇总表

颠簸转换问题

根据数据框中的其他列值将列表 json 对象插入行

Servicestack 返回数组而不是带有数组的对象

Jackson 的@JsonView、@JsonFilter 和 Spring

未捕获的类型错误:无法读取 null 的属性props

什么是类型和类型令牌?

如何在 json 编码字符串内的子数组数据周围添加方括号?

ASP.NET MVC 读取原始 JSON 发布数据

ASP.NET Core API 仅返回列表的第一个结果

POST:在 url 本身中发送 post 请求

NSURLRequest 中不支持的 URL

从 JSON 中 Select 不同的值

如何在本地存储中存储对象数组?

使用 JavaScriptSerializer() 反序列化 JSON 文件