- 디지털 포렌식
- filesystem
- 블리딩비트
- lz4
- This Week In 4n6
- Eng
- live response
- 4n6
- Bleedingbit
- 보안뉴스
- Hack
- 포렌식
- 벨카소프트
- Directory
- 디포전
- Digital Forensic
- Vulnerability
- aff4
- belkasoft
- 딥블루매직
- News
- 실시간 대응
- jump lists
- ctf
- CSRF
- mru
- forensic
- 랜섬웨어
- attack
- E01
- Today
- Total
BLOG
JSON File (JavaScript Object Notation) 본문
JSON 파일이란 JavaScript Object Notation의 축약어.
축약어인 만큼 발음은 마음대로 해도 되나, 사람들은 '제이슨'이라고 발음하는 편인 듯 함.
- 용량이 적은 DATA 교환 형식이며, Javascript에서 객체 생성 시 사용하는 표현식이다.
- Javascript에서 파생되었으나, 언어 독립적인 데이터 형식이다.
- 사람,기계 전부 이해하기 편한 형식이며 최근 XML을 대체해 데이터 전송에 자주 쓰이는 편임.
- 해당 관련 파일은 확장자 .json 형식으로 저장됨.
언어 독립적 : json은 Python이나 Java 등 특정 언어에 종속되지 않고, 버전에 따라 달라지지도 않음.
Data 교환 형식 : 다른 소프트웨어 간의 자료를 공유해 사용할 수 있도록 정의한 형식.
json의 파일 구조
데이터는 키/값 쌍의 구조로 구성됨 키와 값은 : 로 구분되며 다른 키/값 쌍은 , 로 구분됨.
{ "사과" , "오렌지", "포도" } -> 키/값 쌍은 총 세 개
{ "name" : "miles" , "age" : 15 , "job" : "spiderman" } -> 키/값 쌍은 총 세개며 name이라는 키에 miles의 값이 들어감.
키 값이나 문자열은 항상 " " 를 사용해 표기한다.
json 객체 파일 예
Notepad++로 연 json 파일 구조로, 보기 편하게 바꾸지 않으면 한 줄에 데이터가 전부 들어가 있는 모습.
https://jsonformatter.org/json-viewer 같은 사이트에서 해당 내용을 넣어주게 되면 아래 그림과 같이 변환해준다.
그냥 봐도 이해를 할 수는 있으나 해당 도구같은 것으로 변환해주면 이해하기 더 편해질 것이다.
또한 json.dump(), json.dumps() 등 언어 프로그램(파이썬) 자체에서도 import json 해서 라이브러리를 사용해도 보기 편하게 변환할 수 있다.
json VS xml
json과 같이 data 교환을 위한 XML 이라는 형식이 존재함. 하지만 json이 우세한 이유는 다음과 같음.
1. json은 xml보다 읽기 쉽고 이해하기 편한 데이터 보기가 가능함.
2. json은 데이터 세트를 정의하는 문자 수가 적어 데이터 용량이 적고 그로 인해 전송 오버헤드가 적다.
3. 최신 프로그래밍 언어는 웹을 통해 json 응답을 구문 분석하는 내장 파서를 제공.