일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Convert
- wordembedding
- VScodeNotResponding
- jsonlines
- jsonl
- session-basedRecommendation
- str.replace
- ExplicitData
- DIF_SR
- decimal error
- json
- Colab
- 지도시각화
- gluonnlp
- LatentFactorModel
- Python
- implicitData
- github2FA
- Visualization
- BloombergMarketConcepts
- 텐서플로자격증
- pandas
- sshtunnel
- MatrixFactorization
- iterrows
- MySQL
- numpy.bool
- vscode
- Cast
- TensorflowDeveloperCertificate
- Today
- Total
garret
[Data Format] JSON vs. JSON Lines 본문
GPT를 공부하다가 발견한 JSON Lines.
json과 jsonl은 형태도 비슷해 보여서 정확한 차이점을 공부해보았다.
JSON Lines
JSONL text format is also referred to as newline-delimited JSON. JSON Lines is an easy-to-use format for storing structured data that allows for record-by-record processing.
JSON에서 발전된 형태로, 각 라인이 별개의 JSON으로 구성되는 형식.
JSON Lines Format
1. UTF-8 Encoding
2. 각 라인은 유요한 JSON 값이어야 한다.
3. Line separator는 '\n'
JSONL 포맷과 JSON 포맷 차이점
JSONL | JSON | |
Encoding | UTF-8 | Unicode (인코딩 시 ASCII문자 사용) |
구성 | 각 line이 유효한 JSON value로 구성 | 각 JSON value가 하나의 파일로 구성 |
표현 | 새로운 line은 '\n'으로 구분 | '\n'이 없어도 ok |
JSON Lines
각 라인은 JSON 객체의 결과이다.
{ record 1 }
{ record 2 }
{ record 3 }
...
JSON : A single Array
Array parameter로 정할 경우, JSON 커맨드가 single JSON array 작성하고 각 라인은 JSON 객체의 결과이다.
[
{ record 1 },
{ record 2 },
{ record 3 },
...
]
JSONL 이 JSON보다 좋은 점
1. 각 라인이 개별적으로 처리되어 대용량 데이터 처리에 유용
분석 플랫폼에서 대용량 로스 데이터를 처리해야 할 때, 메모리 사용량 문제 발생 가능. JSON 형식에서는 array를 사용하여 데이터를 구성하는데, array가 커지면 메모리 사용량이 증가하여 데이터 처리에 문제발생. JSON Lines은 각 라인이 개별적으로 처리되므로 메모리 사용량이 줄어든다.
2. 여러 개의 JSON명령을 동일한 대상에 적용하기 용이
JSON 형식에서는 여러개의 JSON 객체를 array형태로 구성하여 하나의 파일로 작성 가능. 여러 개의 JSON 명령을 동일한 대상에 작성하려면, JSON 배열 내에서 각 명령을 구분하는 방법이 필요하다. 하지만, JSON Lines 형식은 전체 JSON 객체를 읽을 필요 없이 각 라인을 개별적으로 처리할 수 있어, 하나의 대상에 여러 개의 JSON 명령을 작성하기 용이하다.
Reference
Transaction Analysis Workbench V1.3 - JSON versus JSON Lines
In some cases, you might need to extract logs as JSON Lines, where each line is a JSON object. In other cases, you might need JSON that can be parsed by functions that only accept a single JSON object or array. JSON Lines is more useful than a JSON array i
www.ibm.com
JSONL: Definition, JSON Lines Format, Use Cases, and More
JSONL is a text-based format that uses the .jsonl file extension and is essentially the same as JSON format except that newline characters are used to delimit JSON data.
www.atatus.com