JavaScript JSON 简介
-
什么是JSON
- JSON代表JavaScript Object Notation
- JSON是一种轻量级数据交换格式
- JSON是“自我描述”且易于理解
- JSON与语言无关*
* JSON使用JavaScript语法,但JSON格式仅为文本。可以通过任何编程语言读取文本并将其用作数据格式。
-
为什么要使用JSON
由于JSON格式仅为文本格式,因此可以轻松地将其发送到服务器或从服务器发送,并且可以通过任何编程语言用作数据格式。JavaScript有一个内置函数,用于将以JSON格式编写的字符串转换为本机JavaScript对象:JSON.parse()因此,如果从JSON格式的服务器接收数据,则可以像使用任何其他JavaScript对象一样使用它。 -
交换数据
在浏览器和服务器之间交换数据时,数据只能是文本。JSON是文本,我们可以将任何JavaScript对象转换为JSON,并将JSON发送到服务器。我们还可以将从服务器接收的任何JSON转换为JavaScript对象。这样我们就可以将数据作为JavaScript对象使用,而无需复杂的解析和翻译。 -
发送数据
如果您将数据存储在JavaScript对象中,则可以将对象转换为JSON,并将其发送到服务器:
尝试一下var myObj = {name: "John", age: 31, city: "New York"}; var myJSON = JSON.stringify(myObj); window.location = "demo_json.php?x=" + myJSON;
您将在本教程后面了解有关JSON.stringify()函数的更多信息。
-
接收数据
如果您以JSON格式接收数据,则可以将其转换为JavaScript对象:
尝试一下var myJSON = '{"name":"John", "age":31, "city":"New York"}'; var myObj = JSON.parse(myJSON); document.getElementById("demo").innerHTML = myObj.name;
您将在本教程后面了解有关JSON.parse()函数的更多信息。
-
存储数据
存储数据时,数据必须是特定格式,无论您选择存储数据, 文本始终是合法格式之一。JSON可以将JavaScript对象存储为文本。
尝试一下// 存储数据: myObj = {name: "John", age: 31, city: "New York"}; myJSON = JSON.stringify(myObj); localStorage.setItem("testJSON", myJSON); // 检索数据: text = localStorage.getItem("testJSON"); obj = JSON.parse(text); document.getElementById("demo").innerHTML = obj.name;