JavaScript JSON parse() 方法
实例
解析一个字符串(以 JSON 格式编写)并返回一个 JavaScript 对象:
var obj = JSON.parse('{"firstName":"John", "lastName":"Doe"}');
亲自试一试 »
页面下方有更多实例。
定义和用法
JSON.parse() 方法解析字符串并返回 JavaScript 对象。
该字符串必须以 JSON 格式编写。
JSON.parse() 方法可以选择使用函数来转换结果。
浏览器支持
表中的数字表示支持该方法的第一个浏览器版本。
方法 | |||||
---|---|---|---|---|---|
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":"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;
亲自试一试 »
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();
亲自试一试 »
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();
Take a look at json_demo.txt
相关页面
JSON 教程: JSON 简介