다음은 jtc
유닉스 유틸리티를 기반으로 한 쉬운 솔루션입니다 .
bash $ jtc -w'<.*>D:' -eu echo '"{}"' \; file.json
{
"amount": "1000",
"country": "GB",
"customer": "user",
"id": "1",
"plate": "BMT-216-A",
"pndNumber": "20000",
"zoneNumber": "4"
}
bash $
json 파일에 변경 사항을 바로 적용하려면 다음과 같이 -f
스위치를 사용하십시오 .
bash $ jtc -f -w'<.*>D:' -eu echo '"{}"' \; file.json
제안 된 솔루션은 임의의 구조화 된 json과 올바르게 작동합니다.
bash $ jtc -w'<.*>D:' -eu echo '"{}"' \; file.json
{
"amount": "1000",
"country": "GB",
"customer": "user",
"id": "1",
"plate": "BMT-216-A",
"pndNumber": "20000",
"sub": {
"subvalue": "123"
},
"zoneNumber": "4"
}
bash $
- null 값을 인용하려면 walk-path를 입력하십시오.
-w'<>n:'
- 부울 값을 인용하려면 walk-path를 입력하십시오.
-w'<any>b:'
또한, 역수 (모든 숫자의 인용을 해제)는 비슷한 방식으로 쉽게 달성됩니다 file.json
.
bash $ jtc -w'<^\d+$>R:' -eu echo {-} \; file.json
{
"amount": 1000,
"country": "GB",
"customer": "user",
"id": 1,
"plate": "BMT-216-A",
"pndNumber": 20000,
"zoneNumber": 4
}
bash $
업데이트 : 최신 버전의 jtc
도구는 이제 템플릿과 네임 스페이스를 사용합니다. 이를 통해 외부 쉘을 호출 할 필요가 없습니다.
bash $ jtc -w'<.*>D:' -u'<.*>D:<val>v' -T'"{val}"' file.json
{
"amount": "1000",
"country": "GB",
"customer": "user",
"id": "1",
"plate": "BMT-216-A",
"pndNumber": "20000",
"zoneNumber": "4"
}
jtc
사용자 안내서 : https://github.com/ldn-softdev/jtc/blob/master/User%20Guide.md
{"a":{"b":1},"b":null}
에{ "a": "{\"b\":1}", "b": "null" }