api 등을 사용한 웹서비스를 만들다보면 json 을 무조건 만나게 된다.
xml 로 데이터를 받을 수도 있다. 하지만 json을 이용하면 많은 이점을 노릴 수 있다.
그런 json 을 가지고 데이터모델과 테이블 설계까지 하여 관리를 용이하게 할 필요가 있다.
json 데이터 이해하기
json 뜻은 JavaScript Object Notation 은 약자로 직역하면 자바스크립트 객체 표기법을 말한다.
그런데 xml 도 많이 사용되는데 굳이 json을 사용할 이유가 있을까? 하는 의문이 드는 경두들도 있다.
지금같이 하드웨어의 성능이 높다면 xml 를 사용해도 상관이 없지만, 장거리 통신과 가벼운 데이터전송을 빠르게 하기 위해 json의 형태가 나온 것이기도 하다.
객체자체로 전달해도 상관없지만 문자열형태의 객체표기로 데이터전송을 하는 것이 속도면에서 유리하기 때문이다.
형태와 규칙
먼저 아래의 예제로 json 의 형태를 보도록 하자.
한가지 예제를 가져왔다.
{
"result":{
"key_parent_data_1":"value_data_1",
"key_parent_data_2":"value_data_2",
"key_child_List_1":[
{
"key_child_data_11":"value_data_111",
"key_child_data_12":"value_data_122"
},
{
"key_child_data_11":"value_data_113",
"key_child_data_12":"value_data_124"
}
],
"key_child_List_2":[
{
"key_child_data_21":"value_data_211",
"key_child_data_22":"value_data_221"
},
{
"key_child_data_21":"value_data_213",
"key_child_data_22":"value_data_224"
}
]
}
}
접두어는 2가지 형태로 key와 value 로 표시하였다.
json의 기본형태는 key와 value의 데이터 쌍으로 이루어진다.
java 또는 C# 또는 javasciprt 에도 이 문자열만 있다면 여러가지 할 수 있다.
위의 데이터는 json의 단일데이터와 목록형데이터의 혼합된 형태이다.
json 표현규칙을 이해하면 위의 문자열도 금방 알 수 있다.
json 표현규칙
"key" : "value"
json 은 기본적으로 key 와 value 를 하나의 쌍으로써 형태를 가지며, 세미콜론으로 구분한다.
{ "key" : "value" }
json의 시작은 중괄호를 시작으로 중괄호로 끝나야 한다.
{ "key_1" : "value_1" , "key_2" : "value_2" }
여러 값이 존재할 경우 콤마로 구분한다.
[ { "key_1" : "value_1" , "key_2" : "value_2" }, { "key_1" : "value_3" , "key_2" : "value_4" } ]
동일한 형태의 데이터를 나열하려면 배열의 형태로 대괄호를 시작을 대괄호로 끝난다.
"key_list" : [ { "key_1" : "value_1" , "key_2" : "value_2" }, { "key_1" : "value_3" , "key_2" : "value_4" } ]
데이터 배열의 키는 단일 데이터의 키값으로 데이터는 대괄호를 이용해 배열목록임을 명시한다.
데이터 목록이 여러개 있을 경우에도 콤마를 이용한다.
json의 기본형태는 이정도이며 익숙하지 않으면 다양한 형태의 데이터를 많이 보도록 하자.
한마디의 자세한 설명보다는 많은 데이터형태를 눈에 익혀두는 것이 이해에도 빠르기 때문이다.
json 데이터형태를 봤을 때 데이터베이스 테이블의 형태가 예상된다면 이미 어느정도 이해하고 있는 것일 수 있다.
'programming > DataManage' 카테고리의 다른 글
게시판 페이지 구조의 이해 처음 이전 페이지 다음 마지막 mysql 5.x 사용 (0) | 2021.08.02 |
---|---|
게시판 페이징 쿼리 만들기 테이블 만들기 mysql 5.x 사용 (0) | 2021.08.01 |
MySQL 테이블 수정 컬럼 추가 쿼리 만들기 ALTER TABLE ADD (0) | 2021.04.18 |
MySQL ] 테이블 생성 쿼리 만들기 how to create table query (0) | 2021.03.31 |
json 테스트 데이터 사용하는 방법 fake online rest api (0) | 2021.03.21 |
댓글