簡體   English   中英

使用 jq 轉換包含鍵/值字符串的列表

[英]Transforming a list containing key/value strings with jq

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

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

我想變成

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

jq 任何想法?

您不需要使用split()調用兩次,只需一次,並使用 Array/Object Value Iterator: .[]直接訪問結果並指定內部索引

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

你可以試試JQ Play

我嘗試了以下jq。 只要您確定數組的格式,它就應該可以工作。

[.[] | {ParameterKey: split("=")[0], ParameterValue: split("=")[1]}]

如果您從終端使用,則可以使用以下選項

cat test.json | jq '[.[] | {ParameterKey: split("=")[0], ParameterValue: split("=")[1]}]'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM