>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 js 객체와 JSON 형식 문자열 간의 상호 변환에 대한 자세한 설명

JavaScript에서 js 객체와 JSON 형식 문자열 간의 상호 변환에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-02-17 16:32:531253검색

이 글은 자바스크립트에서 js 객체와 JSON 형식 문자열의 상호 변환을 주로 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

먼저 js에서 JSON 형식의 문자열을 살펴보겠습니다.

var JSONStr1 = "{\"name\" : \"张三\"}";

다음에 쓰는 내용은 JSON의 문자열이 아니라는 점에 유의하세요. js 형식입니다.

var JSONStr2 = "{'name' : '张三'}";

JSON 구문에서 문자열 정의를 살펴보겠습니다. 는 큰따옴표로 묶인 임의 개수의 유니코드 문자 모음입니다. 백슬래시 이스케이프를 사용합니다. 문자는 단일 문자열입니다.

js에서 JSON 형식의 문자열을 JS 객체로 변환하는 방법을 살펴보겠습니다. (

var jsObj3 = eval("(" + JSONStr1 + ")");
var jsObj4 = JSON.parse(JSONStr1);

두 번째 방법을 권장하는 구체적인 이유는 다음을 참조하세요: http://www.php.cn/

추가로 주의할 점 이 두 가지 방법을 사용하여 변환된 js 객체는 "JSON 데이터 형식을 준수하는 js 객체"여야 합니다. 이는 해당 속성이 따옴표로 묶여 있다는 의미입니다. JSON 형식의 문자인 경우 문자열은 다음과 같이 표시됩니다.

var JSONStr1 = "{\"f[name]\" : \"张三\"}";

그런 다음 변환된 JS 객체의 속성을 따옴표로 추가해야 합니다. js 객체의 속성은 따옴표 없이 문자만 사용할 수 있습니다. 숫자, 밑줄, $ 기호는 다른 기호 속성을 사용할 때 따옴표가 필요함을 나타내므로 JS 객체 리터럴 표기법에서 속성에 따옴표를 추가하는 것은 잘못이 아닙니다. 또한 JSON 형식의 문자열이 위와 같은 경우 변환된 js 객체는 jsObj4.f[name]을 사용하여 f[name] 값을 얻을 수 없습니다. 독자들은 이 점에 주의해야 합니다. 이의가 있는 경우

아래에서 js 개체 및 JSON 형식 문자열의 변환을 살펴보겠습니다. 설명을 위해 여러 그룹의 js 개체를 준비했습니다.

<input type="button" value="测试按钮1" onclick="testJson();"/>

<script type="text/javascript">
  //(1) 这是一个js对象
  var jsObj1 = {
    name : "张三"
  }
  //(2)这是一个内部带有方法js对象。
  var jsObj2 = {
    name : "张三",
    func : function(){
      alert("hello");
    }
  }
  //(3)这是一个符合JSON数据格式的js对象
  var jsonObj = {
    "name" : "张三",
    "age" : 10,
    "remark" : {"high" :170,"address" : "beijingshi"}
  }
  // js数组对象
  var jsArray = [
    {name : "张三"},
    {"age" : 10}
  ]

  function testJson(){

    var JSONstr1 = JSON.stringify(jsObj1);
    var JSONstr2 = JSON.stringify(jsObj2);
    var JSONstr3 = JSON.stringify(jsonObj);
    var JSONstr4 = JSON.stringify(jsArray);
    alert(JSONstr1);
    alert(JSONstr2);
    alert(JSONstr3);
    alert(JSONstr4);

  }

팝업 상자의 내용을 살펴보세요.

(1) 3)                                                                                     , (4)의 실행 결과는 JSON 파서의 stringify() 함수가 js에 유용함을 보여준다. 객체가 JSON 형식을 따르는 경우에는 제한이 없으며 js 객체를 다음으로 변환할 수 있다.

(2)의 실행 결과를 보면 js 객체에 JSON으로 표현되는 값(예: 함수 및 정의되지 않음)이 없으면 JavaScript에서 js 객체와 JSON 형식 문자열 간의 상호 변환에 대한 자세한 설명JavaScript에서 js 객체와 JSON 형식 문자열 간의 상호 변환에 대한 자세한 설명이 제외됩니다. 위의 내용이 모든 사람의 학습에 도움이 되기를 바랍니다.

JavaScript의 js에 대한 자세한 설명은 다음과 같습니다. 객체 변환 및 JSON 형식 문자열에 대해서는 PHP 중국어 웹사이트를 참고하세요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.