私は単純なJSONオブジェクトを持っており、それをbashのプロパティファイルに変換したいと考えています。単純なJSONオブジェクトをプロパティファイルに変換する
入力:
{
"foo": "bar",
"abc": "def ghi"
}
予想される出力:
foo="bar"
abc="def ghi"
私は単純なJSONオブジェクトを持っており、それをbashのプロパティファイルに変換したいと考えています。単純なJSONオブジェクトをプロパティファイルに変換する
入力:
{
"foo": "bar",
"abc": "def ghi"
}
予想される出力:
foo="bar"
abc="def ghi"
あなたはそのためto_entries
を使用することができます。
jq -r 'to_entries[]|"\(.key)=\"\(.value)\""' input.json
ところで、Javaプロパティにあなたが引用する必要がないファイル値:
jq -r 'to_entries[]|"\(.key)=\(.value)"' input.json
実際に `to_entries 'と` @sh'フィルタを使用すると、という単純な JSONオブジェクト(質問に記載されているように)でのみ動作します。私の場合(ネストされたjson)、npmのパッケージ "json-to-properties"を使用するようです。
自分で値を引用する代わりに '@ sh'を使用してください。これは '{" key ":" value ""} "が正しく引用されるようにするために必要です。 ( ''... |" \(。key)= \(。値| @sh) "'')。 – chepner
"@sh"が実際に何を説明してください... – bentzy
@chepner OPはプロパティファイルを書きたいと思っています。これらのファイルは、シェルとは異なる構文規則に従います。実際には二重引用符は必要ありません。さて、オペラはそれらを期待しているようです。 – hek2mgl