如何将条目添加到生成的 to_entries?

How can I add entries to generated to_entries?

我有这个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"
}

有什么想法吗?

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