首页 > 解决方案 > 使用 jq 转换包含键/值字符串的列表

问题描述

所以,我基本上有一个文件test.json

[
  "Name=TestName",
  "Tag=TestTag"
]

我想变成

[
  {
    "ParameterKey": "Name",
    "ParameterValue": "TestName",
  },
  {
    "ParameterKey": "Tag",
    "ParameterValue": "TestTag",
  }
]

jq. 任何想法?

标签: jsonjq

解决方案


您不需要split()调用两次,只需使用一次,并使用 Array/Object Value Iterator: 直接访问结果并在其中.[]指定索引

jq -n '[ inputs[] | split("=") | {ParameterKey: .[0], ParameterValue: .[1]} ]'

推荐阅读