轻量级数据交换格式JSON

 

JSON是轻量级的数据交换格式

JSON独立于语言*

JSON是"自描述的"且易于理解

JSON 的语法是来自JavaScript 对象符号的语法,但JSON格式是纯文本。读取和生成JSON数据的代码可以在任何编程语言编写的。

 

JSON语法规则:

数据是名称/值对

数据由逗号分隔

花括号保存对象

方括号保存数组

<!DOCTYPE html>
<html>
<body>

<h1>用 JSON 字符串创建对象</h1>

<p id="demo"></p>

<script>
var text = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"Steve","lastName":"Jobs" },' +
'{"firstName":"Elon","lastName":"Musk" }]}';

obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>

</body>
</html>

 

 

 

 

发送数据(JSON)到服务器

<!DOCTYPE html>
<html>
<body>

<h2>把 JavaScript 对象转换为 JSON 字符串,然后发送到服务器。</h2>

<script>
var myObj = { "name":"Bill Gates",  "age":62, "city":"Seattle" };
var myJSON = JSON.stringify(myObj);
window.location = "/demo/demo_json.php?x=" + myJSON;
</script>

</body>
</html>

 

接收数据(JSON)

<!DOCTYPE html>
<html>
<body>

<h1>把 JSON 格式的字符串,转换为 JavaScript 对象:</h1>

<p id="demo"></p>

<script>
var myJSON = '{ "name":"Bill Gates",  "age":62, "city":"Seattle" }';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
</script>

</body>
</html>

 

将数据存储为文本

<!DOCTYPE html>
<html>
<body>

<h1>通过 local storage 存储并取回数据:</h1>

<p id="demo"></p>

<script>
var myObj, myJSON, text, obj;

// 存储数据:
myObj = { "name":"Bill Gates",  "age":62, "city":"Seattle" };
myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);

// 取回数据:
text = localStorage.getItem("testJSON");
obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
</script>

</body>
</html>

 

JSON和XML的区别

JSON不使用标签,而且更短,JSON的读写速度更快 ,并且可使用数组

最大的不同在于:XML必须使用XML解析器进行解析,而JSON可通过标准的JavaScript函数进行解析。

JSON比XML好在:

XML 比JSON更难解析
JSON 被解析为可供使用的Javascript对象
对于AJAX应用程序,JSON比 XML更快更易用

 

 

JSON中的字符串必须用双引号包围。

JSON中的数字必须是整数或浮点数。

JSON中的值可以是对象,数组,布尔,空值等等

 

posted @ 2022-02-06 23:55  kuaiquxie  阅读(38)  评论(0编辑  收藏  举报