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 教程:JSON 简介