느림보 개발

1. JSON 본문

기초

1. JSON

@르르 2023. 2. 11. 16:58

😂 취업 후 적응 하느라 코테와 공부하기를 게을리한거 같다(3일차) 나의 닉네임 값을 못하는 중이다.....

하지만 다시 조금씩 정리해보려고 한다. 화이팅 ㅠ ㅠ

교육을 듣는데 JSON이 key-value로 되어 있는줄만 알고 있었던 상태라 사용방법에 대해서는 모르고 있었다. 그래서 이번 기회에 정리하고 확실히 알고자 하여 포스팅하게 되었다. 

 

 

JSON 구조 

JSON은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합이다. 따라서 객체 표기법에 따른 구조로 구성된다. 

 

1. JSON 데이터는 이름과 값의 쌍으로 이루어진다. (key-value) 

2. JSON 데이터는 쉼표(,)로 나열된다. 

3. 객체(object)는 중괄호({})로 둘러쌓아 표현한다.

4. 배열(array)는 대괄호([])로 둘러쌓아 표현한다. 

 

 

JSON 데이터

JSON 데이터는 이름과 값의 쌍으로 구성됩니다. 이러한 JSON 데이터는 데이터 이름, 콜론(:), 값의 순서로 구성된다.

"데이터이름" : 값

 

데이터 이름이 "name"이고, 값은 "식빵" 이라는 문자열을 갖는 JSON 데이터의 예제이다. 

name : "식빵"

▶ 데이터 이름도 문자열이므로 항상 큰따옴표("")와 함께 입력해야한다. 

▶ 데이터 값으로 아래와 같은 타입이 올 수 있다. 

 ** 숫자, 문자, 불리언, 객체, 배열, NULL 

 

 

 

JSON 객체

JSON객체는 중괄호 ({})로 둘러쌓아 표현합니다. 또한 JSON객체는 쉼표(,)를 사용하여 여러 프로퍼티를 포함할 수 있습니다. 

 

{
    "name" : "식빵",   ---> 프로퍼티
    "family" : "카레빵", ---> 프로퍼티
    "age" : 5,  ---> 프로퍼티
    "weight" : 200   ---> 프로퍼티
}  ---> JSON객체

 

JSON에서 객체란 데이터 이름과 값의 한 쌍으로 구성된 프로퍼티의 정렬되지 않은 집합을 의미한다. 

이러한 JSON객체는 중괄호({})로 둘러쌓여있습니다. 

 

객체에 저장되는 프로퍼티는 데이트 이름과 값(key-value) 한 쌍으로 이루어져 있다. 

쉼표를 사용하여 여러개의 프로퍼티를 가질 수 있다. 

순서는 중요하지 않으며, 데이터 이름은 반드시 큰 따옴표("")를 사용한다. 

 

 

JSON 객체 안의 객체

JSON에서 데이터 이름과 대응되는 값으로 숫자, 문자열, 불리언뿐만 아니라 또 다른 객체가 올 수 있다. 

만약 데이터의 값이 객체라면 객체 안에 객체가 포함되는 계층 구조가 형성된다. 

{
    "dog" : {
        "name" : "빵이",	 
        "family" : "푸들", 
        "age" : 1, 
        "owner" : {
            "ownerName" : "길동", 
            "phone" : "01099999999"
        }
    }
}

▶ 위 예제에서 가장 상위 계층의 데이터 이름은 "dog"이며, 데이터의 값으로 4개의 또 다른 데이터를 가지고 있다. 그중에서 네번 째 데이터인 "owner" 객체는 "ownerName"과 "phone"이라는 또 다른 데이터를 가지고 있다.

 

 

 

JSON 배열

JSON배열은 대괄호([])로 둘러쌓아 표현합니다. 

또한  JSON 배열은 쉼표(,)를 사용하여 여러 JSON데이터를 포함할 수 있습니다. 

 

다음 예제는 배열의 이름이 "dog"이고, 3개의 JSON객체를 요소로 가지는 JSON배열의 예제입니다. 

"dog" : [
		{"name" : "가", "family" : "푸들", "age" : "1" },
		{"name" : "나", "family" : "비숑", "age" : "2" },
		{"name" : "다", "family" : "슈나우저", "age" : "1" }
]

 

 

JSON에서 배열(array)란 여러 개의 데이터가 순서를 가지고 나열된 집합을 의미한다.

JSON 배열은 쉼표(,)를 사용하여 여러개의 데이터를 나열할 수 있다. 이 방식은 객체에서 프로퍼티를 나열하는 것과 비슷하지만, 배열은 데이터의 값만 나열한다는 차이가 있다. 

 

JSON배열은 JSON에서 제공하는 기본 타입을 모두 저장할 수 있다. 

 

아래 예제는 세 개의 문자열 요소를 가지는 "dog"라는 이름의 JSON 배열 예제이다. 

{
	"dog" : [
    	"웰시코기", 
        "포메",
        "푸들"
    
    ]
}

 

JSON에서 배열의 인덱스는 언제나 0부터 시작한다. 

따라서 웰시코기는 0, 포메는 1, 푸들 2의 인덱스를 가지게 된다. 

 

 

 

JSON 배열과 객체의 차이점

JSON에서 배열과 객체는 여러 데이터를 묶어 놓는 집합이라는 점에서 서로 비슷한 타입이다. 하지만 객체는 프로퍼티의 집합이며, 배열은 데이터의 집합이라는 차이가 있다. 

 

{
	"dog" : [
    "웰시",
    "포메",
    "푸들",
    {
    	"owner" : "길동",
        "phone" : "01099999999"
    }
    
    ]

}

 

▶ "dog" 라는 JSON배열은 문자열뿐만 아니라 객체도 요소로 가지고 있다. 

 

대부분의 프로그래밍언어에서는 배열은 여러 타입의 데이터를 동시에 가질 수 없습니다.

하지만 자바스크립트 기반의 JSON배열은 여러 타입의 배열 요소를 가질 수 있습니다. 

 

 

 

 

Comments