Linuxでjsonファイルの値を取得する方法

Linuxでjsonファイルの値を取得する方法

さまざまな方法を試しているデータがあり、その結果は次のとおりです。

[
"created:Alpha;DateCreated:12/12/2022;TicketNo:XXXX_XXX;ProductName:websphere;OStype:Linux"
]

Linux上記で使用したいOSの種類を取得しようとしていますが、JQ成功しませんでした。どんな提案でも

ありがとう

主権

ベストアンサー1

入力を処理するためにpureを使用する別の方法は次のとおりですjq

$ jq '.[] / ";" | reduce .[] as $item ({}; . + ($item / ":" | {(.[0]): (.[1])}))' file
{
  "created": "Alpha",
  "DateCreated": "12/12/2022",
  "TicketNo": "XXXX_XXX",
  "ProductName": "websphere",
  "OStype": "Linux"
}

その後、必須フィールドを直接抽出できます。

jq -r '.[] / ";" | reduce .[] as $item ({}; . + ($item / ":" | {(.[0]): (.[1])})) | .OStype' file
Linux

おすすめ記事