대용량 JSON 파일을 포맷하는 가장 좋은 방법?(30 MB까지)
읽기 쉽도록 큰 JSON 파일을 포맷해야 하지만, 내가 찾은 모든 리소스(대부분 온라인)는 1~2MB 이상의 데이터를 처리하지 않습니다. 약 30MB를 포맷해야 합니다.이 작업을 수행할 수 있는 방법이나 코드화할 수 있는 방법이 있습니까?
python > = 2.6을 사용하여 다음을 수행할 수 있습니다.
Mac/Linux 사용자의 경우:
cat ugly.json | python -mjson.tool > pretty.json
Windows 사용자의 경우(dnk.nitro의 코멘트 덕분에):
type ugly.json | python -mjson.tool > pretty.json
jq는 몇 초 안에 최대 100MB의 JSON 파일을 포맷하거나 아름답게 만들 수 있습니다.
jq '.' myLargeUnformattedFile.json > myLargeBeautifiedFile.json
위의 명령어는 최대 10초 만에 120MB의 한 줄 파일을 아름답게 만듭니다.jq는 단순한 포맷을 넘어 많은 json 조작 기능을 제공합니다.자습서를 참조하십시오.
저는 jsonpps밖에 없어요(https://github.com/bazaarvoice/jsonpps)).
제가 시도했던 jq, jsonpp 등과는 달리 RAM에 모든 것이 로드되지 않습니다.
설치 및 사용에 관한 유용한 힌트:
다운로드 URL: https://repo1.maven.org/maven2/com/bazaarvoice/jsonpps/jsonpps/1.1/jsonpps-1.1.jar
바로 가기(Windows용):
- 다음 내용으로 같은 디렉토리에 jsonpps.cmd 파일을 만듭니다.
@echo off java -Xms64m -Xmx64m -jar %~dp0\jsonpps-1.1.jar %*
숏컷 사용 예:
- stdin을 stdout으로 포맷합니다.
echo { "x": 1 } | jsonpps
- stdin을 파일로 포맷합니다.
echo { "x": 1 } | jsonpps -o output.json
- 파일로 파일 형식 지정:
jsonpps input.json -o output.json
백그라운드--명령어(Alt+Shift+F)를 사용하여 VS 코드에서 최대 89MB의 json 파일을 포맷하려고 했는데, 일반 사용자가 충돌했습니다.jq를 사용하여 파일을 포맷하고 다른 파일에 저장했습니다.
Windows 11 의 사용 예를 다음에 나타냅니다.
순서 1 - 각 OS의 공식 사이트에서jq 다운로드 - https://stedolan.github.io/jq/
2단계 - C 드라이브에 jq라는 이름의 폴더를 만들고 다운로드한 실행 파일을 폴더에 붙여넣습니다.파일 이름을 jq로 변경합니다(Error1: 파일은 기본적으로 exe 파일이므로 'jq.exe'로 저장하지 말고 'jq'로만 저장하십시오).
3단계 - 경로 변수를 실행 파일의 URL로 설정합니다.
스텝 4 - json 파일이 저장되어 있는 cmd에서 디렉토리를 열고 다음 명령을 입력합니다.jq . currentfilename . json > targetfilename . json
currentfilename을 포맷할 파일명으로 바꿉니다.targetfilename을 포맷할 최종 파일명으로 바꿉니다.
이제 VS 코드 또는 해당 에디터에서 열 수 있는 포맷된 버전의 동일한 디렉토리에 대상 파일이 표시됩니다.명령어로서의 jq 인식 가능성과 관련된 오류는 오류 1까지 높은 확률로 추적할 수 있습니다.
언급URL : https://stackoverflow.com/questions/19875218/best-way-to-format-large-json-file-30-mb
'source' 카테고리의 다른 글
SpringBoot의 속성 파일, YAML 파일 및 명령줄 인수 중 우선 순위 (0) | 2023.03.08 |
---|---|
Jest를 여러 프리셋으로 동시에 사용할 수 있습니까? (0) | 2023.03.08 |
MVC 컨트롤러: HTTP 본문에서 JSON 개체를 가져오시겠습니까? (0) | 2023.03.08 |
create-module-app을 사용하는 동안 public, src 및 scripts 폴더가 생성되지 않음 (0) | 2023.03.08 |
Python에서 JSON을 시리얼화할 때 "TypeError: (Integer) is not JSON serializable?" (유형 오류: (Integer)는 JSON serializable입니까?) (0) | 2023.03.08 |