【问题标题】:How can I add entries to generated to_entries?如何将条目添加到生成的 to_entries?
【发布时间】:2021-12-20 11:48:48
【问题描述】:

我有这个 json:

{
  "idTypes":"type1|type2|type3",
  "idValues":"xxx|yyy|zzz"
}

我需要将此信息重塑为:

{
  "idType": "type1",
  "idValue": "xxxx"
}
{
  "idType": "type2",
  "idValue": "yyyy"
}
{
  "idType": "type1",
  "idValue": "zzzz"
}

到目前为止,我已经尝试过这个 (click jqplay here):

.idTypes| split("|") | to_entries[]

但它不会产生我需要的东西:

{
  "key": 0,
  "value": "type1"
}
{
  "key": 1,
  "value": "type2"
}
{
  "key": 2,
  "value": "type3"
}

有什么想法吗?

【问题讨论】:

    标签: jq


    【解决方案1】:
    to_entries | map(.value | split("|")) | transpose[] | {"idType": .[0], "idValue": .[1] }
    

    会生成

    {
      "idType": "type1",
      "idValue": "xxx"
    }
    {
      "idType": "type2",
      "idValue": "yyy"
    }
    {
      "idType": "type3",
      "idValue": "zzz"
    }
    

    Online demo.


    关于transpose,请阅读jq's docs about this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 2015-07-08
      • 2019-09-23
      • 1970-01-01
      • 2015-01-01
      • 2018-05-23
      • 2020-03-08
      相关资源
      最近更新 更多