다른 JSON 파일(main.json)의 두 번째 줄에 다음 JSON 조각(들여쓰기 및 모두 포함)을 추가하고 싶습니다.
추가할 JSON 조각
"extendedProperties": {
"AppID": {
"values": [
"12345"
]
}
방법
- 변수에 스니펫을 추가합니다(예: snippet=
cat toAddintoConnection.txt
- 정확하게 테스트
echo "$snippet"
및 나열됨(들여쓰기 포함) sed '$i"$snippet"' main.json
- 결과적으로"$snippet"
두 번째 줄부터 마지막 줄까지 문자 그대로 인쇄됩니다.
귀하의 지도에 진심으로 감사드립니다. 감사해요. 프라카시
답변1
JSON 문서에서는 들여쓰기, 줄 바꿈 및 키와 값 사이의 기타 공백이 중요하지 않습니다. 또한 키의 순서는 중요하지 않습니다.
다음을 사용하여 jq
명령줄에서 추가 최상위 키와 해당 값을 추가합니다 .
jq '.extendedProperties = { AppID: { values: [ "12345" ] } }' main.json
AppID
쉘 변수 에서 문자열을 가져옵니다.
id=12345
jq --arg AppID "$id" '.extendedProperties = { AppID: { values: [ $AppID ] } }' main.json
파일에서 데이터를 추가하기 위해 toAddintoConnection.txt
올바른 형식의 JSON 문서를 추가한다고 가정해 보겠습니다.
{
"extendedProperties": {
"AppID": {
"values": [
"12345"
]
}
}
}
또는 동등하게,
{"extendedProperties":{"AppID":{"values":["12345"]}}}
main.json
... 다음과 같이 기존 JSON 문서에 추가할 수 있습니다 .
jq -s 'add' main.json toAddintoConnection.txt