아래와 같이 JSON 파일이 있습니다.
{
"Foo": "ABC",
"Bar": "20090101100000",
"Quux": {
"QuuxId": 1234,
"QuuxName": "Sam"
}
}
다음과 같이 변환하고 싶습니다.
{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}
'\n', '\t' 및 ' ' 문자를 제거하려고 했지만 원하는 형식을 얻지 못했습니다. 어떻게 변환할 수 있나요?
답변1
가장 안전한 방법은 JSON 파서를 사용하는 것입니다. 그렇지 않으면 기술적으로 데이터를 수정할 위험이 있습니다.
사용jq
:
$ jq -c . file.json
{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}
-c
to 플래그는 가능한 가장 간단한 출력을 표시하는 jq
이 플래그의 짧은 버전 입니다. 이 지점은 데이터를 수정하지 않는 간단한 통과 필터입니다.--compact-output
jq
키와 값 사이의 공백은 관련이 없으므로 JSON 문서를 표현하는 두 가지 방법은 동일합니다. JSON 파서는 문제 없이 형식(또는 그 사이의 모든 형식)을 읽을 수 있습니다.