JavaScript JSON parse() 方法

定义和用法

JSON.parse() 方法解析字符串并返回 JavaScript 对象。

该字符串必须以 JSON 格式编写。

JSON.parse() 方法可以选择使用函数来转换结果。

实例

例子 1

解析一个字符串(以 JSON 格式编写)并返回一个 JavaScript 对象:

var obj = JSON.parse('{"firstName":"Bill", "lastName":"Gates"}');

亲自试一试

例子 2

如何使用 reviver 函数:

/* 把 "city" 值替换为大写:*/
var text = '{ "name":"Bill", "age":"19", "city":"Seattle"}';
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;

亲自试一试

例子 3

解析从服务器收到的 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();

亲自试一试

请查看 json_demo.txt

语法

JSON.parse(string, function)

参数值

参数 描述
string 必需。以 JSON 格式写的字符串。
reviver function

可选。用于转换结果的函数。为每个项目调用该函数。任何嵌套对象都在父对象之前进行转换。

如果此函数返回有效值,则将项目值替换为转换后的值。

如果此函数返回 undefined,则删除该项目。

技术细节

返回值: JSON 对象,或数字。
JavaScript 版本: ECMAScript 5

浏览器支持

表格中的数字注明了完全支持该方法的首个浏览器版本。

方法 Chrome IE Firefox Safari Opera
parse() 4.0 8.0 3.5 4.0 11.5

相关页面

JSON 教程:JSON 简介