JavaScript JSON.parse() 方法

  • JavaScript JSON.parse() 方法

    JSON.parse()方法解析字符串并返回JavaScript对象。该字符串必须以JSON格式编写。JSON.parse()方法可以选择使用函数转换结果。
    实例:
    解析一个字符串(以JSON格式编写)并返回一个JavaScript对象:
    var obj = JSON.parse('{"firstName":"John", "lastName":"Doe"}');
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    方法
    parse()
    8.0+
    4.0+
    3.5+
    4.0+
    11.5+
  • 语法

    JSON.parse(string, function)
  • 参数值

    参数 描述
    string 必需的。 以JSON格式编写的字符串
    function 可选的。 用于转换结果的函数。 为每个项目调用该函数。 在父项之前转换任何嵌套对象。
    • 如果函数返回有效值,则项目值将替换为转换后的值
    • 如果函数返回undefined,则删除该项
  • 技术细节

    项目 描述
    返回值: JSON对象或数组
    JavaScript版本: ECMAScript 5
  • 更多例子

    如何使用回调函数功能:
    /*将“city”的值替换为大写:*/
    var text = '{ "name":"John", "age":"39", "city":"New York"}';
    var obj = JSON.parse(text, function (key, value) {
      if (key == "city") {
        return value.toUpperCase();
      } else {
        return value;
      }
    });
    
    document.getElementById("demo").innerHTML = obj.name + ", " + obj.city;
    尝试一下
    解析从服务器收到的JSON:
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        var myObj = JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML = myObj.name;
      }
    };
    xmlhttp.open("GET", "json_demo.txt", true);
    xmlhttp.send();
    尝试一下