IT story

JSON과 JavaScript 객체의 차이점은 무엇입니까?

hot-time 2020. 8. 13. 20:22
반응형

JSON과 JavaScript 객체의 차이점은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

JSON 및 JavaScript 개체를 처음 사용합니다.

  • 누군가 JSON과 JavaScript 객체의 차이점을 설명해 주시겠습니까?
  • 그들의 용도는 무엇입니까?
  • 하나가 다른 것보다 낫습니까? 아니면 상황에 따라 달라 지나요?
  • 어떤 상황에서 어떤 것을 사용해야합니까?
  • 처음에 JSON이 생성 된 이유는 무엇입니까? 주요 목적은 무엇입니까?
  • 누군가 JavaScript 객체가 아닌 JSON을 사용해야하는 경우와 그 반대의 경우에 대한 예를 제공 할 수 있습니까?

먼저 JSON이 무엇인지 알아야합니다.

  • 그것은이다 언어 무신론자 데이터 교환 형식입니다.

JSON의 구문은 JavaScript Object Literal 표기법에서 영감을 얻었지만 차이점이 있습니다.

예를 들어 JSON에서는 모든 를 따옴표로 묶어야하지만 객체 리터럴에서는 필요하지 않습니다.

// JSON:
{ "foo": "bar" }

// Object literal:
var o = { foo: "bar" };

JavaScript (ECMAScript 3rd. Edition에서보다 정확하게)에서는 예약어 를 속성 이름으로 사용할 수 없기 때문에 JSON에서는 따옴표가 필수입니다. 예를 들면 다음과 같습니다.

var o = { if: "foo" }; // SyntaxError in ES3

그러나 문자열 리터럴을 속성 이름으로 사용 (속성 이름 인용)하면 문제가 발생하지 않습니다.

var o = { "if": "foo" }; 

따라서 "호환성" (그리고 쉽게 평가할 수 있습니까?)을 위해 따옴표는 필수입니다.

JSON의 데이터 유형도 다음 값으로 제한됩니다.

  • string
  • number
  • object
  • array
  • 다음과 같은 리터럴 :
    • true
    • false
    • null

Strings변화 의 문법 . 그들은 필요 로 구분 따옴표 자바 스크립트에서, 당신은 교환 따옴표 나 큰 따옴표를 사용할 수 있지만,.

// Invalid JSON:
{ "foo": 'bar' }

허용되는 JSON 문법 Numbers도 변경됩니다. JavaScript에서 예를 들어 16 진수 리터럴 0xFF또는 (악명 높은) 8 진수 리터럴 (예 : 010. JSON에서는 Decimal Literals 만 사용할 수 있습니다.

// Invalid JSON:
{ "foo": 0xFF }

8 진 리터럴이 잘못 허용되는 버그가있는 구현 (Firefox 3.5+, IE8 +, json2.js) JSON.parse('01')이 있습니다 SyntaxError. 예를 들어 .


JSON은 객체의 문자열 표현입니다. 상호 운용 가능한 직렬화 형식입니다. 그것은 자바 스크립트에만 묶여 있지 않습니다. 예를 들어 .NET 개체를 직렬화 / 역 직렬화 할 수있는 .NET 용 JSON 직렬화 기가 있습니다.

따라서 개체를 문자열로 변환 할 수있는 형식 일 뿐이며 유선을 통해 전송하려는 경우 편리합니다.

자바 스크립트 객체 표현에 매우 가깝고 eval()JSON 문자열 만 있으면 해당 객체를 얻을 수 있습니다.


JSON은 데이터 교환 형식으로, 실행하고 객체를 다시 가져올 수있는 YAML 또는 JavaScript 코드의 하위 집합처럼 보입니다. JavaScript 개체는 JavaScript의 개체입니다.

JSON이 데이터 교환 형식이므로 텍스트 형식으로 구조화 된 데이터를 교환 할 수 있습니다. 지금까지는 JavaScript와 상당히 분리되어 있습니다. JavaScript 객체를 사용하면 JavaScript 프로그램을 실행하는 동안 구조화 된 데이터를 만들고 작업 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/3975859/what-are-the-differences-between-json-and-javascript-object

반응형