웹 개발 필수 지식: JSON 데이터 형식 습득

카탈로그
  • JSON은 무엇입니까
  • 이해 양식
  • 형식 및 프로토콜
  • JSON 형식 해석
  • 키 값 쌍
  • JSON 객체
  • 왜 대상이라고 불러요
  • JSON 배열
  • 요약
  • 추가 연습
  • JSON이 뭐야?
    격식, 문법, 규범을 다 말했는데 이것이 바로 JSON이다. 이것이 바로 이 세 가지 근접한 정의이다. 나는 그것을 격식이라고 부르고 싶다.
    여러분은 자신의 생활 속의 경험을 결합하여 이 세 단어의 의미를 체험하기만 하면 OK입니다.다음은 격식이 무엇인지, 주로 이 기회를 빌려 격식과 협의의 차이를 끌어낸다.
    격식을 이해하다
    만약에 CSDN의 markdown 문법으로 블로그를 쓴다면 최근에 디렉터리를 만드는 기능이 하나 더 생겼다는 것을 발견할 수 있을 것이다. @[TOC]( ) 편집기에 이렇게 쓰면 편집기가 자동으로 디렉터리를 만들어 준다. 본문의 디렉터리와 같다.이 동시에, 현재 편집기가 각 제목을 쓸 때, 제목 생성 기호 # 뒤에 반드시 하나 를 따라야 제목을 만들 수 있으며, 이전에는 필요없었던 것을 발견할 수 있다.왜 그런 걸까요?문장 디렉터리를 만드는 과정은 당신의 문장 내용을 해석하는 과정이기 때문에 문장에 있는 # 문자열을 스캔해서 그들을 추출하여 디렉터리를 생성합니다.그러나 필요 없이 도 제목을 만들 수 있다면 당신의 글 내용# 만 나오면 이런 방해 문자열이 생성된 디렉터리는 엉망이 됩니다.그래서 우리는 markdown는 문법이고 이런 문법을 바탕으로 디자인한 편집기는 markdown편집기라고 할 수 있다.그래서 나는 위에서 세 가지 비슷한 정의를 내렸다. 그것이 바로 격식, 문법, 규범이다.markdown 문법 규칙을 모르는 학생들은 공부를 강력히 건의합니다.
    형식 및 프로토콜
    그럼 격식이 협의인가요?우리는 markdown 또는 json를 협의라고 할 수 있습니까?이것은 모두가 생각하기를 바라는 것이다. 이전에 TCP/IP 프로토콜을 볼 필요가 있다고 제기했는데 우리는 프로토콜이 무엇인지에 대해 이해했습니까?이전에는 프로토콜 ≈ 언어를 말했는데 언어에는 문법이 포함되어 있었다.프로토콜에는 형식이 포함되어 있다. 예를 들어 TCP 프로토콜은 그의 형식TCP 이지만 TCP 은 하나만 정의한 것이 아니다TCP .TCP 연결을 구축할 때 , 연결을 끊을 때 등 일련의 상호작용 과정은 모두 협의의 범주에 속한다.여기서 네트워크 정의를 끝으로 참조합니다.
    네트워크 프로토콜의 핵심 세 가지 요소: 의미, 문법, 허용
    JSON 형식 확인
    키 값 쌍
    가장 기본적인 것은 키 값 쌍이다. 키 값 쌍은 , 즉, 사칭 왼쪽은 키의 이름이고 오른쪽은 이 키에 대응하는 값이다.예를 들면 다음과 같습니다.
    	"name":"tom",
    	"age":24,
    	"isTrue":true
    

    여기서 키name의 값은 "tom"입니다.문자열은 모두 더블 인덱스로 묶어야 한다. 왜냐하면 짝퉁 왼쪽은 키 이름이고 키 이름은 반드시 문자열이기 때문에 키 이름은 일률적으로 인덱스를 붙인다.사칭 오른쪽은 상황에 따라 결정된다. 문자열이라면 사칭을 사용하고 다른 것은 필요 없다.이제 사칭 왼쪽이 키 이름이라는 것을 알았으니 사칭 오른쪽은 도대체 어떤 유형을 지원합니까?오른쪽에서 지원하는 기본 유형은 다음과 같습니다.
  • 문자열
  • 정수
  • 소수
  • 부울 유형과 두 가지 복합 유형:
  • JSON 객체
  • JSON 배열
  • JSON 객체
    가장 기본적인 단원은 키 값 쌍이고 키 값 쌍이 위로 올라가면 JSON 대상이다.지금 여기 가 무슨 뜻인지 고민하지 말고 이른바 JSON 가 어떻게 생겼는지 한번 볼까요?
    {
    	"name":"tom",
    	"age":24
    }
    

    보이시나요?JSON 대상은 괄호로 묶은 키 값이 맞고 {} 괄호로 묶은 것이 JSON 대상이라고 간단하게 생각할 수 있기 때문에 나중에 괄호를 보면 이것이 대상이라는 것을 알아야 한다.
    왜 애인
    우리는 왜 그를 대상으로 합니까?JSON의 대부분 응용 장면은 프로그래밍 언어에 의해 해석되고 대부분이 대상을 대상으로 하는 언어이기 때문이다.키 값이 맞기 때문에 키 이름은 모든 대상 자체의 속성에 대응하고 사칭 오른쪽의 값은 모든 속성의 값에 대응한다.이 프로그래밍 언어들은 해석할 때 키 값에 따라 규칙에 따라 그들을 대상에 비추게 된다.그래서:JSON 에는 JSON 를 포함할 수 있고, 반대로 키 값을 포함하는 것은 틀림없다JSON JSON 배열
    배열의 내용은 JSON , 를 직접 포함할 수 있기 때문에 형식은 다음과 같다.
      1{
    	"people":[
    		"tom","lucy","lily"
    	]
    }
    
      2JSON  
    {
    	"people":[
    		{
    			"name":"tom",
    			"age":24
    		},
    		{
    			"name":"lucy",
    			"age":18
    		}
    	]
    }
    

    그중people이 바로JSON 이다.[] 중괄호로 묶은 것이 JSON 배열이라고 볼 수 있다.
    총결산
    JSON 포맷은 주로 프로그래밍 언어의 대상으로 비추어야 하기 때문에 그는 반드시 JSON 를 시작으로 시작 대상 내의 속성을 구조화해야 한다.대상 내의 속성은 바로 키 값 쌍이다. 키 값 쌍 의 내용은 네 가지 기본 유형과 두 가지 복합 유형 여섯 가지 중 임의의 것이다. 만약에 JSON 대상이라면 키 값 쌍을 재구성할 수 있다.JSON 배열의 경우 배열에 기본 유형과 키 값 쌍을 포함할 수 있고 키 값 쌍을 포함하면 값의 내용은 6가지 유형이 될 수 있습니다.이렇게 반복하면 매우 복잡한 정보량이 많은 내용을 구성할 수 있다.
    진일보 연습
    우리는 복잡한 JSON 양식을 구성하여 참고로 제공한다. 예를 들어 가정에 방이 있는데 예를 들어 거실과 베란다가 있다. 방은 이름과 작용이 있고 거실은 컵만 있고 베란다는 꽃만 있다. 그들은 모두 각자의 속성을 가지고 있다.저희가 구성한 JSON의 대상은 다음과 같습니다.
    {
    	"houseName":"  303",
    	"address":"  ",
    	"rooms":[
    		{
    			"name":"  ",
    			"function":"    ",
    			"cups":[
    				{
    					"color":"red",
    					"capacity":2.3,
    					"number":8
    				},
    				{
    					"color":"green",
    					"capacity":1.2,
    					"number":7
    				}
    			]
    		},
    		{
    			"name":"  ",
    			"function":"  ",
    			"flowers":[
    				{
    					"color":"blue",
    					"number":3
    				},
    				{
    					"color":"yellow",
    					"number":6
    				}
    			]
    		}
    	]
    }
    

    위에서 말한 바와 같이 JSON은 프로그래밍 언어에 의해 대상에 비추는 것이다. 그러면 위의 예를 들어 우리가 JAVA를 이용하여 개발하면 다음과 같이 비출 수 있다. 키 값이 대상에 비추는 속성에 주의하고 큰 괄호는 대상에 비추고 중괄호는 수조로 비추기 때문에 다음과 같은 유형을 만들 수 있다.
    public class House {
    	String houseName;
    	String address;
    	List<Room> rooms;
    }
    
    public class Room {
    	String name;
    	String function;
    	List<Cup> cups;
    	List<Flower> flowers;
    }
    
    public class Cup {
    	String color;
    	double capacity;
    	int number;
    }
    
    public class Flower {
    	String color;
    	int number;
    }
    

    좋은 웹페이지 즐겨찾기