小码哥的IT人生

JavaScript JSON parse() 方法

JavaScript基础 2022-06-08 10:56:22小码哥的IT人生shichen

JavaScript JSON parse() 方法

实例

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JSON parse()</h1>
<p>JSON.parse() 解析字符串,以 JSON 格式编写,并返回 JavaScript 对象。</p>
<p>"firstName" 的值是:</p>
<p id="demo"></p>
<script>
var obj = JSON.parse('{"firstName":"Bill", "lastName":"Gates"}');
document.getElementById("demo").innerHTML = obj.firstName;
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

页面下方有更多 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;

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>使用 <em>reviver</em> 函数</h1>
<p>大写 “city” 的值:</p>
<p id="demo"></p>
<script>
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; 
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

示例代码:

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>使用 XMLHttpRequest 获取文件的内容</h1>
<p>内容以 JSON 格式编写,可以轻松转换为 JavaScript 对象。</p>
<p id="demo"></p>
<script>
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();
</script>
<p>请看 <a href="/demo/json_demo.txt" target="_blank">json_demo.txt</a></p>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

请查看 json_demo.txt

相关页面

JSON 教程:JSON 简介

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024