JSON의 파일 트리 구조를 한 줄로 변환하는 방법은 무엇입니까?

JSON의 파일 트리 구조를 한 줄로 변환하는 방법은 무엇입니까?

아래와 같이 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"}}

-cto 플래그는 가능한 가장 간단한 출력을 표시하는 jq이 플래그의 짧은 버전 입니다. 이 지점은 데이터를 수정하지 않는 간단한 통과 필터입니다.--compact-outputjq

키와 값 사이의 공백은 관련이 없으므로 JSON 문서를 표현하는 두 가지 방법은 동일합니다. JSON 파서는 문제 없이 형식(또는 그 사이의 모든 형식)을 읽을 수 있습니다.

관련 정보