JSON (Javascript Object Notation) 은, 구조화된 데이터를 저장하거나 전송하는 텍스트 기반의 형식입니다.
JSON 은 자바스크립트 언어에서 기원되었을 지라도, 이는 여전히 언어 독립적 으로 취급됩니다.
이는 거의 대부분의 어떠한 프로그래밍 언어와도 작동합니다.
JSON 의 가벼운 구문은,
숫자, 문자열에서 배열과 객체에 이르기까지 다른 앱에 모든 것을 쉽게 저장하고 전송하게 해 줍니다.
또한 각기 다른 배열들을 연결합으로서 더 복잡한 데이터 구조들을 생성 할 수 있습니다.
Basic syntax and structure - 기본 구문과 구조
JSON 텍스트는 두 가지의 구조들로 구축 될 수 있습니다 :
- key:value 쌍 컬렉션
- 정렬된 값들의 집합 (array-배열 혹은 list-목록)
JSON 객체는 중괄호 {}
로 작성되며, 이들의 Key:Value 쌍들은 ,
로 분리됩니다.
쌍 내부의 key 와 value 는 :
으로 분리됩니다.
여기 당신을 위한 예제가 있습니다 :
{
"first_name": "Sophie",
"last_name": "Goodwin",
"age": 34
}
여기에, JSON 형식인 유저 데이터를 볼 수 있습니다.
오브젝트(객체)의 key 는 언제나 문자열이지만, value 는 언제나 일곱 유형의 값이 될 수 있으며,
또다시 객체 안의 객체, 배열을 포함 할 수 있습니다.
마지막 Key:Value 쌍 이후에는 ,
콤마를 넣지 않아야 한다는 것을 참고하세요.
다시 돌아와서, 배열 내부의 값은 어떠한 유형이든 될 수 있으며,
또 다른 배열이나 객체를 포함 할 수 있습니다.
여기 배열에 대한 예제가 있습니다 :
["night", "street", false, [345, 23, 8, "juice"], "fruit"]
실제 개발 시 대부분의 배열들은 비슷한 유형의 요소들을 포함합니다.
그리고 중요한 것으로, JSON 은 주석 을 지원하지 않습니다.
중첩된 객체
JSON 은 정말 유연한 형식입니다.
오브젝트 안에 또다른 오브젝트를 속성처럼 중첩 할 수 있습니다.
{
"persons": [
{
"firstName": "Whitney",
"lastName": "Byrd",
"age": 20
},
{
"firstName": "Eugene",
"lastName": "Lang",
"age": 26
},
{
"firstName": "Sophie",
"lastName": "Goodwin",
"age": 34
}
]
}
만약 객체(오브젝트) 나 배열(어레이) 가 또다른 객체나 배열을 포함한다면,
데이터는 나무와 비슷한 구조를 가집니다.
중첩된 객체는 충분히 독립적이며, 서로 다른 속성들을 가질 수도 있습니다 :
{
"persons": [
{
"firstName": "Whitney",
"age": 20
},
{
"firstName": "Eugene",
"lastName": "Lang"
}
]
}
camelCase vs snake_case - 카멜표기법 vs 스네이크표기법
JSON 오브젝트 예제들을 유심히 읽는다면, 아마 질문이 생길 겁니다 :
JSON 에 사용되어야 할 단어 표기 스타일은 무엇인가?
CamelCase 는 공백 없이 단어들을 함께 연결 한 스타일이지만,
구문 내부의 각각의 단어들은 대문자로 시작합니다.
이러한 스타일이 camelCase 이라고 불리는 이유는,
단어 내부의 대문자들이 마치 낙타의 혹과 비슷하기 때문입니다.
snake_case 스타일은, 연결된 단어들이 underscore(밑줄) 로 작성됩니다.
JSON 이름 협약의 올바른 선택은 당신의 프로그래밍 언어와 라이브러리에 직접적으로 의존합니다.
camelCase 와 snake_case 둘 다 사용 할 수 있지만,
JSON 내에서 두 표기법을 혼용하여 사용하지 마세요.
JSON advantages - JSON 장점
JSON은 이러한 장점들 때문에 인터넷 상에서 데이터 교환을 위한 광범위한 형식이 되었습니다 :
- compactness - 컴팩트함
- flexibility - 유연성
- high readability, even for people far from programming - 높은 가독성, 심지어 프로그래밍 몰라도 괜찮음.
- 대부분의 프로그래밍 언어들이 JSON 구조들을 읽거나 생성하기 위한 함수와 라이브러리를 가지고 있음
JSON 은 네트워크를 넘어 전송하기 위한 구조화된 데이터로 유명한 포맷입니다.
JSON으로 데이터를 직렬화 할 때, 어떠한 정보도 잃지 않고 쉽게 역직렬화 할 수 있습니다.
평범한 텍스트를 넘어서서, JSON 의 주요한 장점은,
key-value 쌍 중첩을 통해 객체들 간의 관계를 묘사 할 수 있게 해 줍니다.
당신이 방문하는 많은 웹사이트들도 JSON 을 사용 할 겁니다.
JSON의 다른 유명한 적용법으로는 데이터를 저장하거나, 설정 파일입니다.
Conclusion - 결론
지금, 당신은 JSON이 이해하고, 사용하기에 쉬우며,
어플리케이션 간의 데이터를 전송하기 위한 편리한 도구이기 때문에 환상적이라는 것을 이해했습니다.
실제 작업 환경에서는, 아마 당신 스스로 JSON 파일을 생성하지는 않을 겁니다.
아마 또 다른 소스로부터 JSON 을 가져 올 겁니다.
하지만 만약 당신이 컴퓨터에 JSON 을 저장하고 싶다면, .json
확장자로 파일을 저장하세요.
words to remember
fully : 충분히, 꼬박
lingering : 오래 끄는, 주저하는
resemble : 닮다, ~을 닮다
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
Introduction to GitHub actions- 깃헙 액션 소개 및 기초 (3) | 2024.07.24 |
---|---|
Introduction to CI/CD - CI/CD 소개와 의미 (0) | 2024.07.23 |
Hashing: overview - 해싱: 개요 (1) | 2024.07.21 |
Introduction to logging - 로깅 기초 소개 (3) | 2024.07.20 |
REST - REST 란 무엇인가 (0) | 2024.07.19 |