除却特别标注颜色的模块,其他的都是一些饶舌的官腔,可忽略...
一:简介
JSON:JavaScript 对象表示法(JavaScript Object Notation).
二:作用
JSON 是存储和交换文本信息的语法.类似 XML.
类似 XML
JSON 是纯文本JSON 具有"自我描述性"(人类可读)JSON 具有层级结构(值中存在值)JSON 可通过 JavaScript 进行解析JSON 数据可使用 AJAX 进行传输相比 XML 的不同之处
没有结束标签更短读写速度更快能够使用内建的 JavaScript eval 函数进行解析使用数组不使用保留字三:好处
JSON 比 XML 更小、更快、更易解析.JSON 具有自我描述性,更易于理解.JSON (独立于语言它使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言).为什么使用 JSON?对于 AJAX 应用程序来说, JSON 比 XML 更快更易使用:
使用 XML
读取 XML 文档使用 XML DOM 来循环遍历文档读取值并存储在变量中使用 JSON
读取 JSON 字符串用 eval() 处理 JSON 字符串四:
JSON - 转换为 JavaScript 对象
JSON 文本格式在语法上与创建 JavaScript 对象的代码是相同的.
由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象.
<html> <body> <h2>在 JavaScript 中创建 JSON 对象</h2> <p> Name: <span id="jname"></span><br /> Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p> <script type="text/javascript"> var JSONObject= { "name":"Bill Gates", "street":"Fifth Avenue New York 666", "age":"56s", "phone":"555 1234567"}; document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jage").innerHTML=JSONObject.age document.getElementById("jstreet").innerHTML=JSONObject.street document.getElementById("jphone").innerHTML=JSONObject.phone </script> </body> </html>一:介绍
JSON 语法是 JavaScript 语法的子集
二:语法规则
数据在名称/值对中(键值对)数据由逗号分隔花括号保存对象方括号保存数组例子:
"firstName":"XiaoHui"等同于 JavaScript 的写法:
firstName = "XiaoHui";JSON 值可以是:
数字(整数或者浮点数)字符串(在双引号中)逻辑值(true 或 false)数组(在方括号中)对象(在花括号中)null数组可包含多个对象
{ "employees":[ {"firstName":"Bill","lastName":"Gates"}, {"firstName":"George","lastName":"Bush"}, {"firstName":"Thomas","lastName":"Gartes"} ] } 在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。结果
通过 JSON 字符串来创建对象 First Name: Jobs使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法, JSON 解析器只能识别 JSON 文本,而不会编译脚本.
<html> <body> <h2>在 javascript 中创建 JSON 对象</h2> <p> NAME:<SPAN ID="JNAME"></SPAN><BR/> AGE:<SPAN ID="JAGE"></SPAN><BR/> ADDRESS:<SPAN ID="JSTREET"></SPAN><BR/> </p> <SCRIPT TYPE="TEXT/JAVASCRIPT"> var JSONOBJECT='{'+ '"LoveAll":['+ '{"NAME":"the one data =>九上","AGE":1,"STREET":"the one data = >west"},'+ '{"NAME":"HT","AGE":"这是第二条数据","STREET":"data"}'+ ']'+ '}'; //var obj = eval("("+JSONOBJECT+")"); var obj = JSON.parse(JSONOBJECT); document.getElementById("JNAME").innerHTML=obj.LoveAll[0].NAME; document.getElementById("JAGE").innerHTML=obj.LoveAll[1].AGE; document.getElementById("JSTREET").innerHTML=obj.LoveAll[0].STREET; </SCRIPT> </body> </html>