
JSON 소개
2022-06-01 last update
16 minutes reading JavaScript Conceptual Development소개
JSON은 JavaScript 객체 표현의 약자로 데이터를 공유하는 형식입니다.말 그대로 JSON은 JavaScript 프로그래밍 언어에서 유래한 것이지만 많은 언어에서 사용할 수 있다. 파이썬, 루비, PHP, 자바를 포함한다.JSON의 발음은 보통 이름'제이슨'과 유사하다
JSON은 독립적으로
.json
으로 확장됩니다.이것은 다른 파일 형식으로 정의될 때 (예를 들어 .html
) JSON 문자열로 따옴표에 나타날 수도 있고 변수에 분배될 수도 있다.이런 형식은 웹 서버와 클라이언트나 브라우저 사이에서 쉽게 전송된다.JSON은 가독성이 강하고 무게가 가벼워 XML의 좋은 대체품이며 필요한 형식이 더 적다.이 정보 안내서는 JSON 파일에서 사용할 수 있는 데이터와 이 형식의 일반적인 구조와 문법을 이해하는 데 도움을 줄 것입니다.
문법과 구조
JSON 객체는 일반적으로 괄호로 표시되는 키 값 데이터 형식입니다.JSON을 사용하면
.json
파일에서 JSON 객체를 볼 수 있지만 프로그램 컨텍스트에 JSON 객체 또는 문자열로 존재할 수도 있습니다.JSON 객체는 다음과 같습니다.
{
"first_name" : "Sammy",
"last_name" : "Shark",
"location" : "Ocean",
"online" : true,
"followers" : 987
}
이것은 매우 간단한 예시이지만 JSON에 많은 행장이 있을 수 있지만, 이것은 형식이 보통 두 개의 대괄호 (또는 대괄호) 로 설정되어 있으며, 그 두 끝은 { }
처럼 보이고 키 값은 그 사이의 빈칸을 채우는 것을 나타낸다.JSON에서 사용되는 대부분의 데이터는 결국 JSON 객체에 봉인됩니다.키 값 쌍 사이에는
"key" : "value"
과 같은 사칭이 있습니다.각 키 값은 쉼표로 구분되므로 JSON의 중간 부분은 다음과 같습니다. "key" : "value", "key" : "value", "key": "value"
.위의 예에서 첫 번째 키 값은 "first_name" : "Sammy"
이다.JSON 키는 콜론의 왼쪽에 있습니다.그것들은
"key"
과 같이 두 인용부호로 묶어야 하며, 모든 유효한 문자열일 수 있다.각 객체에서 키프레임은 고유해야 합니다.이 키 문자열은 "first name"
과 같은 공백을 포함할 수 있지만, 프로그래밍할 때 접근하기 어려울 수 있으므로 "first_name"
과 같이 밑줄을 사용하는 것이 좋습니다.JSON 값은 콜론의 오른쪽에 있습니다.이러한 요구 사항은 입도 수준에서 6가지 간단한 데이터 유형 중 하나입니다.
값이 JSON에 전달되는 모든 데이터 형식은 자신의 문법을 유지하기 때문에 문자열은 인용부호로 묶이고 숫자는 묶지 않습니다.
.json
파일에서 형식이 여러 줄로 확장되는 것을 볼 수 있지만 JSON도 한 줄에 모두 쓸 수 있습니다.{ "first_name" : "Sammy", "last_name": "Shark", "online" : true, }
이것은 다른 파일 형식이나 JSON 문자열을 만났을 때 더욱 흔합니다.여러 줄에서 JSON 형식을 작성하면 대개 대형 데이터 집합을 처리할 때 더욱 읽을 수 있습니다.JSON은 요소 사이의 공백을 무시하므로 콜론과 키 값을 분리하여 데이터를 보다 쉽게 읽을 수 있습니다.
{
"first_name" : "Sammy",
"last_name" : "Shark",
"online" : true
}
JSON 객체는 비슷해 보이지만 JavaScript 객체와 형식이 다르므로 JavaScript 객체에서 함수를 사용할 수는 있지만 JSON의 값으로 사용할 수는 없습니다.JSON의 가장 중요한 특징은 모든 참여 언어가 사용할 수 있는 형식으로 프로그래밍 언어 간에 쉽게 전송할 수 있다는 것이다.JavaScript 프로그래밍 언어를 통해서만 JavaScript 객체를 직접 사용할 수 있습니다.지금까지 우리는 가장 간단한 용어로 JSON 형식을 연구했지만 JSON은 차원화되고 복잡해질 수 있으며 끼워 넣은 대상과 수조로 구성된다.다음 섹션에서는 보다 복잡한 JSON에 대해 설명합니다.
JSON의 복잡한 유형 사용
네스트된 그룹 외에도 JSON은 네스트된 객체를 JSON 형식으로 저장할 수 있습니다.이 대상과 수조는 키에 분배된 값으로 전달되며, 통상적으로 키 값 쌍으로 구성된다.
중첩된 객체
아래
users.json
파일에서 네 명의 사용자("sammy"
, "jesse"
, "drew"
, "jamie"
) 중 한 명꼴로 중첩된 JSON 대상이 각 사용자의 값으로 전달되며, 이 대상은 각 사용자와 관련된 자신의 중첩키 "username"
과 "location"
을 가지고 있다.다음은 첫 번째 중첩 JSON 객체가 강조 표시됩니다.사용자json
{
"sammy" : {
"username" : "SammyShark",
"location" : "Indian Ocean",
"online" : true,
"followers" : 987
},
"jesse" : {
"username" : "JesseOctopus",
"location" : "Pacific Ocean",
"online" : false,
"followers" : 432
},
"drew" : {
"username" : "DrewSquid",
"location" : "Atlantic Ocean",
"online" : false,
"followers" : 321
},
"jamie" : {
"username" : "JamieMantisShrimp",
"location" : "Pacific Ocean",
"online" : true,
"followers" : 654
}
}
위의 예에서는 항상 대괄호를 사용하여 네 사용자의 관련 사용자 이름과 위치 데이터를 포함하는 중첩된 JSON 객체를 형성합니다.다른 값과 마찬가지로 객체를 사용할 때 쉼표는 요소를 구분하는 데 사용됩니다.네스트된 배열
값으로 전달되는 JavaScript 배열을 사용하여 데이터를 JSON 형식으로 중첩할 수도 있습니다.JavaScript는 배열 유형의 양쪽 끝에 대괄호
[ ]
을 사용합니다.수조는 서로 다른 데이터 형식의 값을 포함할 수 있는 질서정연한 집합이다.우리가 쉽게 조합할 수 있는 대량의 데이터를 처리할 때, 예를 들어 한 사용자와 관련된 각종 사이트와 소셜 미디어 파일이 존재할 때, 우리는 수조를 사용할 수 있다.
첫 번째 중첩 그룹을 강조 표시하면 Sammy의 사용자 프로필은 다음과 같습니다.
user\u 구성 파일입니다.json
{
"first_name" : "Sammy",
"last_name" : "Shark",
"location" : "Ocean",
"websites" : [
{
"description" : "work",
"URL" : "https://www./"
},
{
"desciption" : "tutorials",
"URL" : "https://www./community/tutorials"
}
],
"social_media" : [
{
"description" : "twitter",
"link" : "https://twitter.com/"
},
{
"description" : "facebook",
"link" : "https://www.facebook.com/DigitalOceanCloudHosting"
},
{
"description" : "github",
"link" : "https://github.com/"
}
]
}
"websites"
키와 "social_media"
키는 모두 하나의 수조를 사용하여 Sammy에 속하는 2개의 사이트 링크와 3개의 소셜 미디어 파일 링크의 정보를 끼워 넣는다.우리는 이것이 수조라는 것을 안다. 왜냐하면 방괄호를 사용했기 때문이다.JSON 형식에서 중첩을 사용하면 더욱 복잡하고 차원화된 데이터를 처리할 수 있습니다.
XML과의 비교
XML이나 확장 가능한 태그 언어는 사람과 기계가 읽을 수 있는 접근 가능한 데이터를 저장하는 방법이다.XML 형식은 여러 프로그래밍 언어에 사용할 수 있습니다.
많은 면에서 XML은 JSON과 매우 비슷하지만 더 많은 텍스트가 필요하기 때문에 길이가 길고 읽기와 쓰기에 시간이 더 걸린다.XML은 XML 해석기로 해석해야 하지만 JSON은 표준 함수로 해석할 수 있습니다.XML은 JSON과 달리 배열을 사용할 수 없습니다.
우리는 XML 형식의 예시를 보고 JSON에 나타난 동일한 데이터를 볼 것이다.
사용자xml
<users>
<user>
<username>SammyShark</username> <location>Indian Ocean</location>
</user>
<user>
<username>JesseOctopus</username> <location>Pacific Ocean</location>
</user>
<user>
<username>DrewSquir</username> <location>Atlantic Ocean</location>
</user>
<user>
<username>JamieMantisShrimp</username> <location>Pacific Ocean</location>
</user>
</users>
사용자json{"users": [
{"username" : "SammyShark", "location" : "Indian Ocean"},
{"username" : "JesseOctopus", "location" : "Pacific Ocean"},
{"username" : "DrewSquid", "location" : "Atlantic Ocean"},
{"username" : "JamieMantisShrimp", "location" : "Pacific Ocean"}
] }
우리는 JSON이 더 치밀하고 끝 표시가 필요하지 않으며 XML은 끝 표시가 필요하다는 것을 보았다.그 밖에 XML은 이 JSON 예시처럼 그룹을 사용하지 않았습니다. (괄호를 사용하면 이 점을 알 수 있습니다.)HTML에 익숙하면 XML이 태그를 사용하는 데 매우 비슷하다는 것을 알 수 있습니다.JSON은 XML보다 더 간단하고 지루하지 않으며 많은 경우 (AJAX 응용 프로그램 포함) 빠르게 사용할 수 있지만, 어떤 데이터 구조를 사용할지 결정하기 전에 처리 중인 항목 유형을 알아야 합니다.
리소스
JSON은 JavaScript에서 사용하는 자연스러운 형식으로 많은 유행하는 프로그래밍 언어에 사용할 수 있다."Introducing JSON"사이트에서 전체 언어 지원을 볼 수 있으며, jQuery library은 호환성과 해석을 처리할 수 있습니다.
대부분의 경우 순수한 JSON을 작성하지 않고 데이터 원본에서 추출하거나 다른 데이터 파일을 JSON으로 변환합니다.소스 오픈 도구 Mr. Data Converter을 사용하여 스프레드시트 프로그램의 CSV 또는 탭으로 구분된 데이터를 JSON으로 변환할 수 있습니다.지식 공유 라이센스 utilities-online.info site을 사용하여 XML을 JSON으로 변환할 수 있습니다.자동화 도구를 사용할 때는 결과를 검증하고 필요에 따라 중복을 삭제해야 한다.
다른 데이터 형식을 JSON으로 변환하거나 자신의 데이터 형식을 만들 때 JSONLint을 사용하여 JSON을 검증할 수 있으며, JSFiddle을 사용하여 웹 개발 상하문에서 JSON을 테스트할 수 있다.
결론
JSON은 데이터를 쉽게 공유, 저장 및 처리할 수 있는 경량급 형식입니다.형식으로서 JSON은 API에서 Twitter API을 포함하여 점점 더 많은 지원을 받고 있다.
.json
파일을 만들지 않고 다른 출처에서 가져올 수 있기 때문에 JSON의 구조를 적게 고려하고 프로그램에서 JSON을 가장 잘 사용하는 방법을 많이 고려하는 것이 중요합니다.