bestsource

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

bestsource 2023. 3. 10. 22:37
반응형

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)에서는 따옴표는 JSON에서는 필수입니다.Edition)을 통해 예약된 단어를 속성 이름으로 사용할 수 없습니다. 예를 들어 다음과 같습니다.

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

한편, 문자열 리터럴을 속성명으로 사용하면(속성명을 따옴표로 묶음) 문제가 발생하지 않습니다.

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

호환성(그리고 간단한 평가도 가능)을 위해?따옴표는 필수입니다.

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

  • string
  • number
  • object
  • array
  • 문자 그대로:
    • true
    • false
    • null

의 문법Strings변화들.이들은 큰따옴표로 구분해야 하며 JavaScript에서는 작은따옴표 또는 큰따옴표를 자유롭게 사용할 수 있습니다.

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

승인된 JSON 문법Numbers또한 변경 사항, JavaScript에서는 16진수 리터럴을 사용할 수 있습니다.0xFF또는 (악명 높은) 옥탈 리터럴(예:010. JSON에서는 10진수 리터럴만 사용할 수 있습니다.

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

8진법이 잘못 허용된 버그 구현(Firefox 3.5+, IE8+, json2.js)이 있습니다.JSON.parse('01')를 생성해야 합니다.SyntaxError.

JSON은 객체를 문자열로 표현한 것입니다.상호 운용 가능한 시리얼라이제이션 형식입니다.javascript에만 관련된 것은 아닙니다.예를 들어 에는 JSON 시리얼라이저가 있습니다.시리얼화/디시리얼화를 가능하게 하는 NET.NET 오브젝트

즉, 객체에서 문자열로 변환하고 회선을 통해 전송할 때 편리한 형식입니다.

표현에 .단순히 javascript를 .eval()JSON j j j j j j j j j j j j j j j j j j j j j j j j j j.

JSON은 데이터 교환 형식입니다.실행하여 오브젝트를 되돌릴 수 있는 YAML 또는 JavaScript 코드의 서브셋처럼 보입니다.JavaScript 개체는 JavaScript의 개체일 뿐입니다.

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

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

반응형