JSON 读书笔记

JSON

JSON:JavaScript 对象示意法(JavaScript Object Notation)。

JSON 是存储和交流文本信息的语法。相似 XML。

JSON 比 XML 更小、更快,更容易剖析。

什么是 JSON ?

JSON 指的是 JavaScript 对象示意法(JavaScript Object Notation)
JSON 是轻量级的文本数据交流花样
JSON 独立于言语 *
JSON 具有自我形貌性,更容易明白
  • JSON 运用 JavaScript 语法来形貌数据对象,然则 JSON 依然独立于言语和平台。JSON 剖析器和 JSON 库支撑很多差别的编程言语。

将json数据输出到页面:


<html>
 <body>
 <p>
     Name:<span id="i1" ></span>
     Gender:<span id='i2'></span>
     job:<span id = 'i3'></span>
     title:<span id='i4'></span>
 </p>
  <script type="text/javascript">
     var JObject = {
       'name':'bill', 
       'gender':'male', 
       'job':'ceo', 
       'title':'leader'
     }
     document.getElementById('i1').innerHTML=JObject.name;
     document.getElementById('i2').innerHTML=JObject.gender;
     document.getElementById('i3').innerHTML=JObject.job;
     document.getElementById('i4').innerHTML=JObject.title;
  </script>
 </body>
</html>

相似 XML

JSON 是纯文本
JSON 具有“自我形貌性”(人类可读)
JSON 具有层级构造(值中存在值)
JSON 可通过 JavaScript 举行剖析
JSON 数据可运用 AJAX 举行传输

比拟 XML 的差别之处

没有结束标签
更短
读写的速率更快
能够运用内建的 JavaScript eval() 要领举行剖析
运用数组
不运用保留字

为何运用 JSON?

关于 AJAX 应用程序来讲,JSON 比 XML 更快更容易运用:
运用 XML

读取 XML 文档
运用 XML DOM 来轮回遍历文档
读取值并存储在变量中

运用 JSON

读取 JSON 字符串
用 eval() 处置惩罚 JSON 字符串

JSON 语法是 JavaScript 对象示意法语法的子集。

数据在称号/值对中
数据由逗号分开
花括号保留对象
方括号保留数组

JSON 值

JSON 值可所以:

数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null

JSON 对象

{ "firstName":"John" , "lastName":"Doe" }

JSON 数组
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,对象 "employees" 是包括三个对象的数组。每一个对象代表一条关于或人(有姓和名)的纪录。

js建立对象数组

<html>
 <body>
  <script type="text/javascript">
     var staffs = [
        {'name':'mike','title':'ceo'},
        {'name':'mi','title':'business'},
        {'name':'me','title':'store'},
        {'name':'jimmy','title':'dev'},
        {'name':'catey','title':'tester'}
     ]
     var v1 = staffs[0].title;//接见数组staffs第一个元素的title属性
     document.write(v1)//ceo
  </script>
 </body>
</html>

javascript eval()函数,他是javascript的编译器,能够剖析json文件

<html>
<!-- 因为 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。 -->
<!-- eval() 函数运用的是 JavaScript 编译器,可剖析 JSON 文本,然后天生 JavaScript 对象。必需把文本包围在括号中,如许才防止语法错误:var obj = eval ("(" + txt + ")"); -->
<body>
<p>
   First Name: <span id="fname"></span><br /> 
   Last Name: <span id="lname"></span><br /> 
</p> 
<script type="text/javascript">
    var txt = '{"employees":[' +//注重javascript的字符串衔接的划定规矩
              '{"firstName":"Bill","lastName":"Gates" },' +
              '{"firstName":"George","lastName":"Bush" },' +
              '{"firstName":"Thomas","lastName":"Carter" }]}';

    var obj = eval ("(" + txt + ")");

    document.getElementById("fname").innerHTML=obj.employees[1].firstName 
    document.getElementById("lname").innerHTML=obj.employees[1].lastName 
</script>
</body>
</html>

提醒:eval() 函数可编译并实行任何 JavaScript 代码。这隐蔽了一个潜伏的平安问题。
运用 JSON 剖析器将 JSON 转换为 JavaScript 对象是更平安的做法。JSON 剖析器只能辨认 JSON 文本,而不会编译剧本。

在浏览器中,这供应了原生的 JSON 支撑,而且 JSON 剖析器的速率更快。

较新的浏览器和最新的 ECMAScript (JavaScript) 规范中均包括了原生的对 JSON 的支撑。

<html>
<body>
<p>
   First Name: <span id="fname"></span><br /> 
   Last Name: <span id="lname"></span><br /> 
</p> 
<script type="text/javascript">
    var txt = '{"employees":[' +//注重javascript的字符串衔接的划定规矩
              '{"firstName":"Bill","lastName":"Gates" },' +
              '{"firstName":"George","lastName":"Bush" },' +
              '{"firstName":"Thomas","lastName":"Carter" }]}';
    var obj = JSON.parse(txt)//应用JSON剖析器
    document.getElementById("fname").innerHTML=obj.employees[1].firstName 
    document.getElementById("lname").innerHTML=obj.employees[1].lastName 
</script>
</body>
</html>
    原文作者:MichaelDuan
    原文地址: https://segmentfault.com/a/1190000003730437
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞