-
#출처
책 <데이터 중심 애플리케이션 설계 115p~>
https://www.json.org/json-ko.html
JSON
JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1
www.json.org
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON
JSON - JavaScript | MDN
JSON 객체는 JavaScript Object Notation(JSON)을 분석하거나 값을 JSON으로 변환하는 메서드를 가지고 있습니다. JSON을 직접 호출하거나 인스턴스를 생성할 수 없으며, 두 개의 메서드를 제외하면 자신만
developer.mozilla.org
https://twinstae.github.io/json-vs-object/
자바스크립트 JSON vs 객체 무엇이 다른가요?
한 줄 요약 : JSON, 즉 Java Script Object Notation(자바스크립트 객체 표기법)은 js 객체를 문자열로 쓰는 방법입니다.
twinstae.github.io
#요약
전송과 저장 시 데이터를 표현하는 방법이 다르기 때문에 JS에서 이를 변환하기 위해 JSON.stringfy메서드를 쓴다.
JSON은 데이터 형식 중 하나이다.
json은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다.
#JSON이란?
MDN
JSON은 객체, 배열, 숫자, 문자열, 불리언과 null을 직렬화*(주의 : 직렬화는 트랜잭션의 맥락에서도 사용되는데 이 때의 직렬화와 완전히 다른 의미이기 때문에 책에선 부호화라는 단어를 썼다!)하기 위한 구문으로, JavaScript 구문에 기반을 두고 있지만 분명한 차이점을 가지고 있습니다. 즉, 어떤 JavaScript는 JSON이 아닙니다.
토끼님 블로그
JSON, 즉 Java Script Object Notation(자바스크립트 객체 표기법)은 js 객체를 문자열로 쓰는 방법
이런 문자열은 HTTP 네트워크를 타고 서버나 다른 기기와 데이터를 주고 받을 때에도 쓰이고요. 텍스트 파일로 데이터를 저장할 때도 씁니다.
보통 API 서버에서 값을 가져오면 JSON 문자열입니다. 이걸 JSON.parse에 넣으면 해석해서 객체로 만들어줍니다. 반대로 JSON.stringify 에 객체를 넣으면 문자열로 직렬화해줍니다. 통신선이나 전파를 타고 이동하려면 문자열처럼 직렬화되어 있어야하거든요.
'직렬화'라는 말이 나왔죠? 어떤 자료구조를 줄줄이 한 줄로 이어지는 문자열이나 바이트 스트림으로 만들면 직렬화 한다고 합니다. 0010111000111 같은 데이터 말이죠. 이런 걸 그래서 '선형적'이라고도 해요. 일직선이니까요.
네트워크 통신선이나 전파를 타고 데이터를 전송하려면 데이터가 하나씩 직렬화된 상태로 만들어야합니다.
데이터중심애플리케이션설계
메모리에 객체, 구조체, 목록, 배열, 해시 테이블, 트리 등으로 데이터가 유지된다. 이런 데이터구조는 CPU에서 효율적으로 접근하고 조작할 수 있게 최적화된다.
데이터를 파일에 쓰거나 네트워크를 통해 전송하려면 스로를 포함한 일련의 바이트열(예시 : json문서)의 형태로 부호화해야 한다.
따라서 두 가지 표현 사이에 일종의 전환이 필요하다. 인메모리 표현에서 바이트열로의 전환을 부호화(직렬화나 마샬링이라고도 함- json.stringfy 메서드)라고 하며, 그 반대를 복호화(파싱, 역직렬화, 언마샬링 - json.parse 메서드)이라고도 한다.
#JSON의 구조
name/value 형태의 쌍으로 collection 타입 - 다양한 언어들에서, 이는 object, record, struct(구조체), dictionary, hash table, 키가 있는 list, 또는 연상배열로서 실현 되었다.
값들의 순서화된 리스트 - 대부분의 언어들에서, 이는 array, vector, list, 또는 sequence로서 실현 되었다.
#JSON 형식 (이러한 구조를 가질 수 있다는 건지? 이해 못했음)
https://www.json.org/json-ko.html 여기서 가져옴
object는 name/value 쌍들의 비순서화된 SET이다. object는 {좌 중괄호로 시작하고 }우 중괄호로 끝내어 표현한다. 각 name 뒤에 :colon을 붙이고 ,comma로 name/value 쌍들 간을 구분한다.
array은 값들의 순서화된 collection 이다. array는 [left bracket로 시작해서 ]right bracket로 끝내어 표현한다. ,comma로 array의 값들을 구분한다.
value는 큰따옴표안에 string, number ,true ,false , null, object ,array이 올수 있다. 이러한 구조들을 포함한다.
string은 큰따옴표안에 둘러 싸인 zero 이상 Unicode 문자들의 조합이며, 쌍다옴표안에 감싸지며,backslash escape가 적용된다. 하나의 문자(character)도 하나의 문자열(character string)로서 표현된다. string은 C 또는 Java 문자열 처럼 매우 많이 비슷하다.
'memoir' 카테고리의 다른 글
CORS (0) 2022.02.21 깃허브 프로젝트 관리하기 (0) 2022.02.18 파이프라인 (0) 2022.02.13 리액트 개발환경 세팅 (0) 2022.02.02 [MySQL] mySQL과 express 서버 연동하기 (0) 2021.12.09