zoukankan      html  css  js  c++  java
  • 【01】JSON基本信息

    [魔芋注] 就是一种格式,数据组合的格式。
     
    JSON:JavaScript 对象表示法(JavaScript Object Notation)。
    JSON 是存储和交换、传输(数据)文本信息的语法(格式)。类似 XML。
    JSON 比 XML 更小、更快,更易解析。
     

     

    JSON 通常用于服务端向网页传递数据 。和 XML 一样,JSON 也是基于纯文本的数据格式。除了字符 ",,/ 和一些控制符(,f, , , )需要编码外,其他 Unicode 字符可以直接输出。下图是一个 String 的完整表示结构:

     

     

    什么是 JSON ?

    • JSON 是轻量级的文本数据交换格式
    • JSON 独立于语言 * 它不单单适用于JavaScript,也适用于其他语言,如php,Java。
    • JSON 具有自我描述性,更易理解
    * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。* JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。文本可以被任何编程语言读取及作为数据格式传递。

    实例

    1. {
    2. "employees":[{
    3. "firstName":"Bill",
    4. "lastName":"Gates"
    5. },{
    6. "firstName":"George",
    7. "lastName":"Bush"
    8. },{
    9. "firstName":"Thomas",
    10. "lastName":"Carter"
    11. }]
    12. }
     
     
    这个 employee 对象是包含 3 个员工记录(对象)的数组。

    JSON - 转换为 JavaScript 对象

    JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

    由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

    1. <html>
    2. <body>
    3. <h2>JavaScript中创建 JSON 对象</h2>
    4. <p>
    5. Name:<span id="jname"></span><br />
    6. Age:<span id="jage"></span><br />
    7. Address:<span id="jstreet"></span><br />
    8. Phone:<span id="jphone"></span><br />
    9. </p>
    10. <script type="text/javascript">
    11. var JSONObject={
    12. "name":"Bill Gates",
    13. "street":"Fifth Avenue New York 666",
    14. "age":56,
    15. "phone":"555 1234567"};
    16. document.getElementById("jname").innerHTML=JSONObject.name;
    17. document.getElementById("jage").innerHTML=JSONObject.age;
    18. document.getElementById("jstreet").innerHTML=JSONObject.street;
    19. document.getElementById("jphone").innerHTML=JSONObject.phone;
    20. </script>
    21. </body>
    22. </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 起源

    • 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如“北京”这个单独的词。
    • 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(list),比如“北京”,“上海”。
    • 第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据由一个名词,还有一个与之相应的值,这又称为散列(hash)或字典(dictionary),比如:“首都”:“北京”
     
     

    JSON的缺点:

    1,要求字符集必须是Unicode,受约束性强。
    2,语法过于严谨,必须遵循JSON语法的四个原则。
     
     
     
     

    相关:

     
    XML  
        XML是标准通用标记语言(SGML)的子集,非常适合Web传输。
    Serialize
        Serialize 是一种类似于JSON的数据格式,但是PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式。
    Array()
        基本数据类型,不能用于数据的传输和交替。
     





  • 相关阅读:
    【linux】系统初始化的shell脚本
    【mysql】数据库Schema的优化
    【mysql】使用xtrabackup在线增量备份及恢复数据库
    mysql中日志的配置与分析
    Javascript 计算字符串所占字节数
    Javascript调试利器console的使用
    Javascript中类型的判断
    Javascript中的数据类型知多少
    Javascript中bind()方法的使用与实现
    【mysql】Innodb三大特性之insert buffer
  • 原文地址:https://www.cnblogs.com/moyuling/p/5039026.html
Copyright © 2011-2022 走看看