(정리 중)JSON이란?

dev_log·2022년 8월 13일
0

JSON이란?

JavaScript Object Notation
(직역)자바스크립트 객체 표기법(문법)
일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식.
클라이언트가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록, 일정한 패턴을 지닌 문자열을 생성해 내보내면 클라이언트는 그를 해석해 데이터를 자기만의 방식으로 온전히 저장, 표시할 수 있게 된다.

과거 웹 초기 시절부터 사용되어 온 XML은 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 쓸데없이 용량을 잡아먹는다는 단점이 항상 지적되어 왔다. 이에 대응해 간결하고 통일된 양식으로 각광을 받고 있는 것이 JSON이다.

https://namu.wiki/w/JSON

Javascript 객체 문법
구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷
웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용
Javascript 객체 문법을 따르는 문자 기반의 데이터 포맷
Javascript 객체 문법과 매우 유사
Javascript가 아니더라도 JSON을 읽고 쓸 수 있는 기능이 다수의 프로그래밍 환경에서 제공됨.
문자열 형태로 존재 -> 네트워크를 통해 전송할 때 아주 유용

???
데이터에 접근하기 위해서는 네이티브 JSON 객체로 변환될 필요가 있습니다.
Javascript는 JSON 전역 객체를 통해 문자열과 JSON 객체의 상호변환을 지원합니다.

Note:
파싱(Parsing): 문자열에서 네이티브 객체로 변환하는 것
문자열화(Stringification): 네트워크를 통해 전달할 수 있게 객체를 문자열로 변환하는 과정

개별 JSON 객체를 .json 확장자를 가진 단순 텍스트 파일에 저장할 수 있습니다.

JSON 구조

JSON 주의사항

JSON은 순수히 데이터 포맷입니다. 오직 프로퍼티만 담을 수 있습니다. 메서드는 담을 수 없습니다.
JSON은 문자열과 프로퍼티의 이름 작성시 큰 따옴표만을 사용해야 합니다. 작은 따옴표는 사용불가합니다.
콤마나 콜론을 잘못 배치하는 사소한 실수로 인해 JSON파일이 잘못되어 작동하지 않을 수 있습니다. JSONLint같은 어플리케이션을 사용해 JSON 유효성 검사를 할 수 있습니다.
JSON은 JSON내부에 포함할 수 있는 모든 형태의 데이터 타입을 취할 수 있습니다. 즉, 배열이나 오브젝트 외에도 단일 문자열이나 숫자또한 유효한 JSON 오브젝트가 됩니다.
자바스크립트에서 오브젝트 프로퍼티가 따옴표로 묶이지 않을 수도 있는 것과는 달리, JSON에서는 따옴표로 묶인 문자열만이 프로퍼티로 사용될 수 있습니다.

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON#%ED%95%B4%EB%B3%B4%EB%A9%B4%EC%84%9C_%EB%B0%B0%EC%9A%B0%EA%B8%B0_json%EC%9D%84_%EB%8B%A4%EB%A4%84_%EB%B3%B4%EC%9E%90

--> 제이슨 다뤄보기 하는 중!!!

JSON.parse()

JSON -> JavaScript

JSON 문자열의 구문을 분석하고,
그 결과에서 JavaScript 값이나 객체를 생성

구문
JSON.parse(JSON 객체)
JSON.parse(JSON 객체, (옵션)reviver)

반환 값
주어진 JSON 문자열에 대응하는 Object.

예제
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null

JSON.parse('{"p": 5}', (key, value) =>
typeof value === 'number'
? value * 2 // 숫자라면 2배
: value // 나머진 그대로
);

// { p: 10 }

JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}',(key, value) => {
  console.log(key);})
  
//1
//2
//4
//6
//5
//3


'{
"1": 1, 
"2": 2, 
"3": {
	"4": 4, 
    "5": {"6": 6}
     }
}'

JSON.stringify()

JavaScript -> JSON

JavaScript 값이나 객체를 JSON 문자열로 변환
값을 JSON 표기법으로 변환

구문
JSON.stringify(JSON 문자열로 변환할 값)
JSON.stringify(JSON 문자열로 변환할 값, replacer)
JSON.stringify(JSON 문자열로 변환할 값, replacer, space)

반환 값
주어진 값과 대응하는 JSON 문자열.

예제
JSON.stringify({ x: 5, y: 6 });
// "{"x":5,"y":6}"

JSON.stringify([new Number(3), new String('false'), new Boolean(false)]);
// "[3,"false",false]"

JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] });
// "{"x":[10,null,null,null]}"

JSON.stringify(new Date(2006, 0, 2, 15, 4, 5));
// ""2006-01-02T15:04:05.000Z""

0개의 댓글