什么是JSON
- JSON代表JavaScript Object Notation
- JSON是一种轻量级数据交换格式
- JSON是“自我描述”且易于理解
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格式接收数据,则可以将其转换为JavaScript对象:
var myJSON = '{"name":"John", "age":31, "city":"New York"}';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
存储数据
存储数据时,数据必须是特定格式,无论您选择存储数据, 文本始终是合法格式之一。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;