ファイルを開こうとしていて、ファイルを調べて、値に基づいて値を変更し、これをファイルまたは var に渡します。以下はJSONの例です
{
"Par": [
{
"Key": "12345L",
"Value": "https://100.100.100.100:100",
"UseLastValue": true
},
{
"Key": "12345S",
"Value": "VAL2CHANGE",
"UseLastValue": true
},
{
"Key": "12345T",
"Value": "HAPPY-HELLO",
"UseLastValue": true
}
],
"CANCOPY": false,
"LOGFILE": ["HELPLOG"]
}
私はjqを使用しており、オブジェクトグループを分離して値を変更することに成功しています。
cat jsonfile,json | jq '.Par | map(select(.Value=="VAL2CHANGE")) | .[] | .Value="VALHASBEENCHANGED"'
これは与える
{
"Key": "12345S",
"Value": "VALHASBEENCHANGED",
"UseLastValue": true
}
達成したいのは、変更された値で完全な JSON 出力を保持することです
{
"Par": [
{
"Key": "12345L",
"Value": "https://100.100.100.100:100",
"UseLastValue": true
},
{
"Key": "12345S",
"Value": "VALHASBEENCHANGED",
"UseLastValue": true
},
{
"Key": "12345T",
"Value": "HAPPY-HELLO",
"UseLastValue": true
}
],
"CANCOPY": false,
"LOGFILE": ["HELPLOG"]
}
IE
jq '.Par | map(select(.Value=="VAL2CHANGE")) | .[] | .Value="VALHASBEENCHANGED"' (NOW PUT IT BACK IN FILE)
また
ファイルを開き、ファイルを調べ、変更するファイルの値を変更し、これを変更して、これをファイルまたは画面に出力します
追加するには、json ファイルには、これを作成するときに一度だけ探している値のみが含まれます。他の値を変更する必要がある場合は、別の名前を付けます。