TIL. 62 json

조윤식·2022년 9월 14일
0

JSON의 정의

데이터는 무엇보다 중요합니다. 하지만 다양한 종류의 데이터를 어떻게 활용해야 할지 아는 일은 그보다 더 중요하죠. 프로그래머, 개발자, IT 전문가들은 어떤 언어에서든 데이터 구조와 실제 데이터를 다른 언어 및 플랫폼에서 해석 가능한 형식으로 전송할 수 있어야 합니다. JavaScript Object Notation(JSON)은 이를 가능케 하는 데이터 교환 포맷이죠.

JSON이 개발자들 사이에서 인기를 얻게 된 이유는 인간이 읽을 수 있는 문서로 이루어졌기 때문입니다. 게다가 코딩도 더 적게 필요하고, 처리 속도가 빠른, 경량 언어이기 때문이죠.

JSON 데이터 유형 및 예시

JSON은 파싱 또는 직렬화 없이도 JavaScript 프로그램에서 사용할 수 있습니다. JSON은 JavaScript 객체 리터럴, 배열, 스칼라 데이터를 표현하는 텍스트 기반의 방식입니다.

JSON은 상대적으로 쉽게 읽고 작성할 수 있고, 소프트웨어에서 파싱 및 생성하기도 쉽습니다. 종종 구조화된 데이터를 직렬화해 이를 네트워크에서 교환할 때(보통 서버와 웹 애플리케이션 간) 사용됩니다.

JSON은 여러 데이터 유형으로 세분화할 수 있습니다.

  1. 문자열
  2. 숫자
  3. 부울
  4. Null
  5. 객체
  6. 배열

문자열

JSON의 문자열은 유니코드 문자로 구성되며, 백슬래시() 이스케이프 문자를 사용합니다.

예시

{ "name" : "Jones" }

숫자

JSON 숫자는 JavaScript의 배정도수 부동소수점 형식을 따릅니다.

예시

{
"number_1" : 210,
"number_2" : 215,
"number_3" : 21.05,
"number_4" : 10.05
}

부울

부울 값은 참 또는 거짓 둘 중 하나로 지정됩니다. 부울 값은 따옴표로 묶이지 않으며 문자열 값으로 취급됩니다.

예시

{ "AllowPartialShipment" : false }

Null

Null은 빈 값입니다. 키에 어떤 값도 할당되어 있지 않은 경우 Null로 취급할 수 있습니다.

예시

{ "Special Instructions" : null }

객체

JSON 객체 데이터는 {}(중괄호) 사이에 삽입된 한 쌍의 이름 또는 값입니다. 키는 문자열이어야 하며 쉼표로 구분되어야 합니다.

예시

{
"Influencer" : { "name" : "Jaxon" , "age" : "42" , "city" , "New York" }
}

배열

배열 데이터 유형은 순서가 지정된 값의 모음입니다. JSON에서 배열 값은 문자열, 숫자, 객체, 배열, 부울 또는 Null 유형이어야 합니다.

예시

{
"Influencers" : [
{
"name" : "Jaxon",
"age" : 42,
"Works At" : "Tech News"
}
{
"name" : "Miller",
"age" : 35
"Works At" : "IT Day"
}
]
}

JSON과 데이터 유형에 대해 설명했으니, 이제부터는 그 활용법에 대해 알아보도록 하겠습니다.

JSON과 데이터 유형에 대해 설명했으니, 이제부터는 그 활용법에 대해 알아보도록 하겠습니다.

가장 자주 사용되는 JSON 유형

JSON 사용 사례

1.사용자 생성 데이터로부터 JSON 객체 생성

JSON은 임시 데이터의 저장에 적합합니다. 예를 들어, 웹사이트에 제출된 양식과 같은 사용자 생성 데이터는 임시 데이터입니다. JSON은 또한 모든 유형의 프로그래밍 언어를 위한 데이터 포맷으로 사용될 수 있기 때문에 고도의 상호 운용성을 제공합니다.

2.시스템 간 데이터 전송

웹사이트 데이터베이스에는 고객의 우편 주소가 저장되어 있지만, 해당 주소의 유효성 검증을 위해서는 API를 통한 검증이 필요합니다. 해당 주소 데이터를 JSON 형식으로 주소 검증 서비스 API에 전송할 수 있습니다.

3.애플리케이션용 데이터 구성

애플리케이션 개발 시 각 애플리케이션에는 데이터베이스 및 로그 파일 경로 연결에 필요한 인증이 필요합니다. 해당 인증 및 파일 경로를 JSON 파일로 지정해 읽고 사용할 수 있습니다.

4.복잡한 데이터 모델 간소화하기

JSON은 데이터 추출 프로세스를 예측 가능하고 사람이 읽을 수 있는 JSON 파일로 변환함으로써 복잡한 문서를 의미 있는 것으로 식별된 구성 요소로 간소화할 수 있습니다.

JSON이 개발자들 사이에서 인기 있는 이유

JSON은 API 코드 프로그래밍 및 웹 서비스를 통해 성장세를 이어왔습니다. 더욱 빠른 데이터 교환 및 웹 서비스 결과 도출을 지원하기 때문이죠. JSON은 텍스트 기반의 경량 언어이며, 추가적인 코드 작업 없이도 손쉽게 파싱이 가능한 데이터 형식입니다. 많은 데이터를 반환 및 표시해야 하는 웹 서비스의 경우 특히 JSON이 이상적인 선택이죠.

문서 데이터베이스란 무엇인가?

문서 데이터베이스는 문서 지향 정보를 저장, 검색, 관리하기 위해 설계된 비관계형 데이터베이스 유형입니다. 스키마를 사전 정의하는 대신 문서 데이터베이스는 문서로 이루어진 데이터 컬렉션을 저장할 수 있게 해줍니다. NoSQL 데이터베이스 및 JSON 데이터베이스는 문서 데이터베이스에 해당합니다.

문서 데이터베이스가 개발자들의 사랑을 받는 이유는 데이터를 관계형(구조적) 형식이 아닌 문서 모델 형식(반 구조적)으로 저장하기 때문이죠. 문서 데이터베이스는 더 큰 유연성을 제공하는데, 개발자가 사전에 스키마를 계획할 필요 없이 애플리케이션 코드에 사용 중인 것과 동일한 형식을 사용할 수 있게 해주기 때문입니다. 다시 말해 SQL 데이터베이스를 위한 신중한 계획이 필요없다는 뜻이죠. 덕분에 문서 데이터베이스는 빠르게 진화하는 스키마에도 유용합니다. 이와 같은 문서 데이터베이스는 앞으로 소프트웨어 개발에 더 흔히 사용될 것으로 보입니다. 하지만 그 대신 속도, 크기, 특수성을 희생해야 할 수 있습니다.

JSON 문서 데이터베이스란 무엇인가?

다양한 JSON 데이터 유형 및 JSON 지향 쿼리 언어를 사용하는 애플리케이션은 JSON 문서 데이터베이스에 저장된 데이터와 상호작용할 수 있습니다. JSON 문서 데이터베이스는 JSON을 위한 고유 지원을 제공합니다.

JSON 문서 데이터베이스를 정의하는 특성은 다음과 같습니다:

JSON 문서 데이터베이스는 JSON 문서로 저장 및 쿼리하기 위해 설계된 비관계형 데이터베이스입니다.
데이터베이스 내 JSON 데이터는 텍스트를 기반으로 하지만, 해당 텍스트는 BLOB, VARCHAR2, CLOB, 21c의 이진 JSON 데이터 유형을 사용해 저장될 수 있습니다.
데이터베이스에 저장된 JSON 데이터에 액세스하는 일은 OCI, .NET, JDBC를 사용한 다른 데이터베이스 데이터에 액세스하는 것과 유사합니다.
JSON 문서 데이터베이스 내의 JSON 데이터는 데이터를 정의할 스키마 없이도 저장, 인덱싱, 쿼리될 수 있습니다.
JSON 문서 데이터베이스 활용법
앞서 언급했듯이 JSON은 문서 교환의 표준을 설정한 경량 데이터 전송 포맷입니다. 이제 JSON 데이터를 JSON 문서 데이터베이스에 저장하고 이를 관리하는 방법에 대해 알아보도록 하겠습니다.

JSON 데이터 저장하기

JSON 데이터를 JSON 문서 데이터베이스에 저장할 때 VARCHAR2, CLOB, BLOB 데이터 유형 및 21c의 이진 JSON 데이터 유형을 사용하는 열이 사용됩니다. 어떤 데이터 유형을 사용할지는 보통 JSON 문서의 크기에 따라 달라집니다. 표준 SQL 데이터 유형을 사용해 JSON 데이터를 데이터베이스에 저장한다는 것은 JSON 데이터가 다른 모든 유형의 데이터처럼 조작될 수 있다는 것을 의미합니다.

JSON 데이터 관리하기

JSON 데이터는 데이터 유형에 관계없이 JSON 문서 데이터베이스에서 테이블로 관리 및 조작될 수 있습니다. 어떤 테이블을 선택할 것인지는 대게 JSON 문서의 크기에 따라 달라집니다. 데이터베이스의 특징 중 하나는 열이 포함된 테이블을 JSON 데이터를 사용해 손쉽게 복제할 수 있다는 것입니다.

JSON 문서 데이터베이스 사용 사례

네이티브 JSON 문서 데이터베이스는 개발자들에게 더 많이 보고, 생성하고, 무엇보다도 더 많이 이해할 수 있는 능력을 제공합니다.

데이터베이스 내 고객은 이름과 주소로 식별될 뿐만 아니라, 각 고객의 속성은 값으로 할당되고, 개인화된 제품 추천 및 보다 강력한 관계 형성을 위한 배열로 표시될 수 있습니다.

JSON 데이터의 효과는 온전히 해당 데이터를 구동하는 데이터베이스에 달려있습니다.

더욱 개인화된 경험을 제공하는 애플리케이션 여러 디지털 자산을 통해 매력적인 맞춤형 고객 경험과 실시간 추천을 제공할 수 있습니다.
콘텐츠 및 카탈로그 관리 광범위한 속성과 메타데이터를 다루는 콘텐츠 관리 및 제품 카탈로그 서비스를 개발할 수 있습니다.
통합 IoT 애플리케이션 통합 애플리케이션을 생성해 클릭스트림, 모니터링, 로깅, 센서 시스템을 통해 초당 수백만 건의 삽입과 검색을 처리할 수 있습니다. 이를 통해 데이터 정확도를 포기하지 않고도 새로운 인사이트를 도출할 수 있죠.
JSON 데이터 및 자율운영 데이터베이스
JSON 문서 데이터베이스는 JSON 데이터 유형에 대한 고유의 지원을 제공할 뿐만 아니라, 손쉬운 마이그레이션, 로코드 개발을 가능케 합니다. 데이터의 저장 및 관리 시 스키마 변경도 불필요하죠. 만약 서버리스 환경에서 JSON의 이점을 활용할 수 있는 방법이 있다면 어떨까요? 클라우드 문서 데이터베이스는 자동화된 프로비저닝, 확장 및 복구 기능으로 JSON 애플리케이션을 간단히 개발할 수 있게 해주는 동시에 99.995%의 가용성을 제공합니다.

출처 : https://www.oracle.com/kr/database/what-is-json/

profile
Slow and steady wins the race

0개의 댓글