JSON 튜토리얼: 간단한 예제를 통해 배우기

⚡ 스마트 요약

JSON은 다음을 줄인 말입니다. JavaSON(Script Object Notation, SON)은 서버와 애플리케이션 간에 구조화된 데이터를 저장하고 교환하기 위한 가볍고 사람이 읽기 쉬운 형식입니다. 이 자료에서는 SON의 구문, 데이터 유형, 실제 응용 사례 및 XML과의 차이점을 설명합니다.

  • 🔑 핵심 정의: JSON은 객체에는 중괄호를, 배열에는 대괄호를 사용하여 이름/값 쌍과 순서가 있는 배열 형태로 정보를 저장합니다.
  • 🧩 지원되는 데이터 유형: JSON의 6가지 데이터 유형(문자열, 숫자, 불리언, null, 객체, 배열)을 숙달하면 거의 모든 구조를 모델링할 수 있습니다.
  • 팀이 이를 도입하는 이유: JSON은 기본적으로 파싱됩니다. Java이 스크립트는 모든 브라우저에서 작동하며 대부분의 백엔드 기술 및 REST API와 통합됩니다.
  • 🔄 JSON과 XML의 차이점: XML과 비교했을 때 JSON은 형식이 지정되어 있고, 사람이 읽기 쉬우며, 직렬화 속도가 더 빠르지만, 마크업 표시 기능은 부족합니다.
  • 🛠️ 실용적인 도구: 배포 전에 JSONLint, JSON Editor Online, JSON Formatter와 같은 유틸리티를 사용하여 코드의 유효성을 검사하고, 형식을 지정하고, 최소화하십시오.

JSON 튜토리얼

JSON이란 무엇입니까?

JSON 정보를 체계적이고 접근하기 쉬운 방식으로 저장하는 데 사용되는 파일 형식입니다. 그것의 완전한 형태는 Java스크립트 객체 표기법. 논리적으로 액세스할 수 있는 사람이 읽을 수 있는 데이터 컬렉션을 제공합니다. 작성된 프로그래밍 코드의 파일 이름 확장자는 다음과 같습니다. .json. JSON의 인터넷 미디어 유형은 application/json이고 해당 통일 유형 식별자는 public.json입니다.

이제 정의가 명확해졌으니, 다음 섹션에서는 개발자들이 다른 데이터 형식보다 JSON을 선택하는 이유를 설명합니다.

왜 JSON을 사용하나요?

JSON 사용의 중요한 이점/장점은 다음과 같습니다.

  • 모든 브라우저에 대한 지원 제공
  • 쉽게 읽고 쓸 수 있습니다.
  • 간단한 구문
  • 기본적으로 구문 분석할 수 있습니다. Javaeval() 함수를 사용하는 스크립트
  • 생성 및 조작이 용이함
  • 모든 전공에서 지원됨 Java스크립트 프레임워크
  • 대부분의 백엔드 기술에서 지원
  • JSON은 기본적으로 다음으로 인식됩니다. Java스크립트
  • 그것은 당신이 transmit 네트워크 연결을 사용하여 구조화된 데이터를 직렬화합니다.
  • 최신 프로그래밍 언어와 함께 사용할 수 있습니다.
  • JSON은 어떤 객체로든 변환될 수 있는 텍스트입니다. Java스크립트를 JSON으로 변환하여 이 JSON을 서버로 전송합니다.

JSON의 역사

JSON의 역사
JSON 튜토리얼

JSON의 역사를 형성하는 중요한 랜드마크는 다음과 같습니다.

  • Douglas Crockford는 2000년대 초반에 JSON 형식을 지정했습니다.
  • 공식 홈페이지는 2002년에 개설되었습니다.
  • 2005년 XNUMX월, 야후! 일부 웹 서비스를 JSON으로 제공하기 시작합니다.
  • JSON은 2013년에 ECMA 국제 표준이 되었습니다.
  • 가장 업데이트된 JSON 형식 표준은 2017년에 발표되었습니다.

이러한 타임라인 외에도 JSON은 지속적인 인기를 설명해 주는 여러 실용적인 기능을 제공합니다.

JSON의 특징

쉬운 사용 – JSON API는 일반적으로 사용되는 사용 사례를 단순화하는 데 도움이 되는 높은 수준의 외관을 제공합니다.

성능 – JSON은 매우 적은 메모리 공간을 소비하므로 매우 빠르며, 이는 특히 대규모 개체 그래프 또는 시스템에 적합합니다.

무료 도구 – JSON 라이브러리는 오픈 소스이며 무료로 사용할 수 있습니다.

지도를 만들 필요가 없습니다ping - Jackson API는 기본 지도를 제공합니다ping 직렬화해야 할 객체가 많습니다.

JSON 정리 – 읽기 쉽고 깨끗하고 호환 가능한 JSON 결과를 생성합니다.

의존 – JSON 라이브러리는 처리를 위해 다른 라이브러리가 필요하지 않습니다.

JSON 구문 규칙

JSON 구문 규칙은 다음과 같습니다.

  • 데이터는 이름/값 쌍이어야 합니다.
  • 데이터는 쉼표로 구분해야 합니다.
  • 중괄호는 객체를 담아야 합니다
  • 대괄호는 배열을 보관합니다

JSON의 데이터 유형

구문 규칙이 정립되었으므로 다음 표는 JSON에서 사용되는 주요 데이터 유형을 나열합니다.

데이터 형식 기술설명
번호 실수, 정수 또는 부동 숫자를 포함합니다.
역슬래시 이스케이프먼트로 묶인 모든 텍스트 또는 유니코드로 구성됩니다.
부울 부울 데이터 유형은 True 또는 False 값을 나타냅니다.
null로 Null 값은 관련 변수에 값이 없음을 나타냅니다.
목적 이는 키-값 쌍의 모음이며 항상 쉼표로 구분하고 중괄호로 묶습니다.
배열 이는 분리된 값의 순서화된 시퀀스입니다.

번호

  • 숫자는 구현 방법에 따라 달라지는 배정밀도 부동 소수점 형식입니다.
  • JSON에서는 XNUMX진수 및 XNUMX진수 형식을 사용할 수 없습니다.

다음 표는 숫자 유형을 보여줍니다.

타입 기술설명
정수 숫자 1~9와 0. 양수와 음수 모두.
분수 3과 같은 분수
멱지수 e, e+와 같은 지수

구문 :

var json-object-name = { string : number_value,......}

예:

var obj = {salary: 2600}

이는 이중 따옴표로 묶인 유니코드 문자들의 연속이며, 백슬래시(\)가 포함되어 있습니다.ping.

다음 표는 다양한 문자열 유형을 보여줍니다.

타입 기술설명
* 이중 따옴표에 사용ping
/ 고상에 사용
\ 역고상선에 사용
B 백스페이스를 추가하는 데 사용
F 피드에서
N 새 라인을 생성하려면
R 캐리지 리턴에 사용
T 가로 탭을 표시하려면
U XNUMX진수

구문 :

var json-object-name = { string : "string value",…..}

예:

var obj = {name: 'Andy'}

부울

참 또는 거짓 값만 저장합니다.

구문 :

var json-object-name = {string : true/false, …..}

예:

var obj = {active: 'true'}

배열

  • 이는 순서가 지정된 값 모음입니다.
  • 키 이름이 순차적인 정수인 경우 배열을 사용해야 합니다.
  • 대괄호로 묶어야 하며 대괄호는 ','(쉼표)로 구분해야 합니다.

구문 :

[value, .......]

예:

여러 객체를 저장하는 배열을 보여줍니다.

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

JSON 객체

A JSON 객체 JSON의 엔터티로 중괄호로 묶입니다. 이름 뒤에 ":"(콜론)이 오고 이름/값 쌍은 ","(쉼표)로 구분해야 하는 순서 없는 이름과 값 쌍 세트로 작성됩니다. 키 이름이 임의의 문자열인 경우 사용할 수 있습니다.

구문 :

{ string :  value, ….. }

예:

{
"id": 110,
"language": "Python",
"price": 1900,
}

공백

토큰 쌍 사이에 공백을 삽입할 수 있습니다.

예:

구문 :

{string:"    ",….}

예:

var a = " Alex"; var b = "Steve";

JSON의 예

주어진 코드 예제는 JSON을 사용하여 관련 정보를 저장하는 방법을 정의합니다. 프로그래밍 서적 에디션 및 저자 이름과 함께.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}

다른 JSON 파일 예제를 통해 JSON 형식을 이해해 보겠습니다. 여기서 JSON은 학생의 이름, 성, ID를 정의합니다.

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

JSON 적용

JSON의 몇 가지 일반적인 응용 프로그램은 다음과 같습니다.

  • 서버에서 데이터를 전송하는 데 도움이 됩니다.
  • 샘플 JSON 파일 형식은 다음과 같은 데 도움이 됩니다. transmit 또한 모든 유형의 구조화된 데이터를 직렬화합니다.
  • 페이지를 새로 고칠 필요 없이 비동기 데이터 호출을 수행할 수 있습니다.
  • 다음을 수행하는 데 도움이 됩니다. transmit 서버와 웹 애플리케이션 간의 데이터 전송.
  • 그것은 널리 사용됩니다 Java브라우저 확장 프로그램과 웹사이트를 포함하는 스크립트 기반 애플리케이션입니다.
  • 여러분의 시간과 재능으로 transmit 서버와 웹 애플리케이션 간의 데이터 전송에는 JSON 형식이 사용됩니다.
  • 현대 프로그래밍 언어와 함께 JSON을 사용할 수 있습니다.
  • 글쓰기에 사용됩니다 Java브라우저 추가 기능이 포함된 스크립트 기반 애플리케이션.
  • 웹 서비스와 Restful API는 JSON 형식을 사용하여 공개 데이터를 가져옵니다.

JSON은 매우 광범위하게 사용되기 때문에, 자주 대체되는 XML 형식과 비교되곤 합니다.

JSON 대 XML

JSON과 XML의 주요 차이점은 다음과 같습니다.

JSON XML
JSON 객체에는 유형이 있습니다. XML 데이터는 유형이 없습니다
JSON 유형: 문자열, 숫자, 배열, 부울 모든 XML 데이터는 문자열이어야 합니다.
데이터는 JSON 객체로 쉽게 액세스 가능 XML 데이터를 구문 분석해야 합니다.
JSON 파일은 사람이 더 읽기 쉽습니다. XML 파일은 사람이 읽기 어렵습니다.
JSON은 대부분의 브라우저에서 지원됩니다. 브라우저 간 XML 구문 분석은 까다로울 수 있습니다.
JSON에는 표시 기능이 없습니다. XML은 마크업 언어이기 때문에 데이터를 표시하는 기능을 제공합니다.
값을 검색하는 것은 쉽습니다. 값을 검색하는 것이 어렵습니다.
많은 Ajax 툴킷에서 지원됨 Ajax 툴킷에서는 완전히 지원되지 않습니다.
완전 자동화된 역직렬화/직렬화 방법 Java스크립트. 개발자는 글을 써야 한다 JavaXML에서 직렬화/역직렬화를 위한 스크립트 코드
객체에 대한 기본 지원. 객체는 규칙에 따라 표현되어야 합니다. 대부분 속성과 요소의 사용이 누락되었습니다.

JSON 예제

다음은 간단한 JSON 예입니다.

{
  "student": [

     {
        "id":"01",
        "name": "Tom",
        "lastname": "Price"
     },

     {
        "id":"02",
        "name": "Nick",
        "lastname": "Thameson"
     }
  ]
}

XML 예제

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

JSON이 아닌 것은 무엇입니까?

  • 샘플 JSON 데이터 파일은 문서 형식이 아닙니다.
  • 마크업 언어가 아닙니다.
  • JSON은 일반적인 직렬화 형식을 제공하지 않습니다.
  • 반복적이거나 순환적인 구조가 아닙니다.
  • 눈에 보이지 않는 구조도 아닙니다.

JSON의 단점

JSON의 몇 가지 장점은 다음과 같습니다.

  • 네임스페이스를 지원하지 않으므로 확장성이 떨어집니다.
  • 제한된 개발 도구 SUPPORT
  • 공식적인 문법 정의를 지원하지 않습니다.

인기 있는 JSON 도구(추가 기능)

중요한 JSON 도구는 다음과 같습니다.

JSONLint:

JSONLint는 JSON 유효성 검사 및 재포맷 도구로 사용되는 오픈 소스 프로젝트입니다. JSON은 경량 데이터 교환 형식입니다. 복사하여 붙여넣거나, 직접 입력하거나, 입력란에 입력하는 등 다양한 방식으로 사용할 수 있습니다. URL JSON 유효성 검사 도구를 사용하여 JSON 코드의 유효성을 검사하세요.

링크 : https://jsonlint.com

JSON 편집기 온라인:

JSON Editor Online은 유용한 웹 기반 도구입니다. JSON을 편집하고, 보고, 형식을 지정할 수 있습니다. 명확하고 편집 가능한 형식으로 데이터를 나란히 표시합니다. 코드 편집기 소프트웨어.

링크 : https://jsoneditoronline.org/

JSON 축소 도구:

공백을 제거하고 최소한의 공간을 차지하는 JSON 코드를 제공하는 데 도움이 되는 도구입니다.

링크 : https://www.browserling.com/tools/json-minify

JSON을 XML로 변환기:

JSON-XML 변환기는 JSON 코드를 변환하는 데 도움이 되는 간단하고 효과적인 도구입니다.

링크 : https://codebeautify.org/jsontoxml

JSON 포맷터:

JSON 포맷터는 사람이 쉽게 읽고 디버깅할 수 있도록 JSON 데이터의 형식을 지정하여 문제를 해결하는 데 도움이 됩니다.

링크 : https://jsonformatter.curiousconcept.com/

자주 묻는 질문

아니요. JSON은 데이터 교환 형식이지 프로그래밍 언어가 아닙니다. 텍스트 기반 구문을 사용하여 구조화된 데이터를 저장하고 전송할 뿐입니다. 프로그래밍 언어(예: Java스크립트, Python예산 및 Java JSON을 읽고 씁니다.

JSON 자체는 평문이므로 안전합니다. 위험은 특히 오래된 eval() 메서드를 사용할 때처럼 신뢰할 수 없는 입력을 파싱할 때 발생합니다. JSON.parse()와 같은 표준 JSON 파서를 사용하고 데이터 유효성을 검사하여 인젝션 공격을 방지하세요.

JSON은 데이터를 저장하는 데 사용되는 텍스트 형식입니다. transmit JSON 객체는 중괄호 안에 이름/값 쌍으로 작성된 데이터 구조 중 하나입니다. 완전한 JSON 파일에는 여러 객체와 배열이 포함될 수 있습니다.

AI 시스템은 JSON을 사용하여 프롬프트를 보내고, 응답을 받고, 모델 매개변수를 교환합니다. 대부분의 대규모 언어 모델 API는 JSON 형식을 허용하고 반환하므로 JSON은 요청, 구조화된 출력 및 학습 데이터 구성에 대한 표준 형식입니다.

네. AI 비서는 일반 설명에서 JSON을 생성하고 구문 오류를 검사할 수 있습니다. 또한 많은 도구가 스키마를 강제하므로 출력 결과가 유효하고 애플리케이션이 예상하는 구조와 일치합니다.

이 게시물을 요약하면 다음과 같습니다.