JavaScript JSON parse() 方法

实例

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

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

亲自试一试

页面下方有更多 TIY 实例。

定义和用法

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

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

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

浏览器支持

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

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

语法

JSON.parse(string, function)

参数值

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

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

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

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

技术细节

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

更多实例

实例

如何使用 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;

亲自试一试

实例

解析从服务器收到的 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 教程:JSON 简介

目录