zoukankan      html  css  js  c++  java
  • JSON

    一、什么是JSON

           -JSON指的是JavaScript对象表示法(Javascript Object Notation)

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

           -JSON独立于语言

           -JSON具有自我描述性,更易理解

           -JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

    二、用途

           JSON的用途可归结为如下:

           1、JSON提供了一种优秀的面向对象的方法,以便将元素数据缓存到客户机上

           2、JSON帮助分离了验证数据和逻辑

           3、JSON帮助为web应用程序提供了Ajax的本质

    三、与XML的异同

           类似XML:          

    • JSON 是纯文本
    • JSON 具有“自我描述性”(人类可读)
    • JSON 具有层级结构(值中存在值)
    • JSON 可通过 JavaScript 进行解析
    • JSON 数据可使用 AJAX 进行传输

           不同与XML:

    • 没有结束标签
    • 更短
    • 读写的速度更快
    • 能够使用内建的 JavaScript eval() 方法进行解析
    • 使用数组
    • 不使用保留字

    四、为什么要使用JSON

           对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

              使用 XML:

                    读取 XML 文档

                    使用 XML DOM 来循环遍历文档

                    读取值并存储在变量中

                    读取 JSON 字符串

                    用 eval() 处理 JSON 字符串

               使用JSON:

                    读取 JSON 字符串

                    用 eval() 处理 JSON 字符串

    五、JSON在Java中的使用

          1、语法规则:JSON语法是Javascript对象表示法语法的子集。数据在名称/值对中且由逗号分隔,{}保存对象,[]保存数组

          2、名称/值对:JSON数据的书写格式是:名称/值对,名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:如:"firstName" : "John",等价于firstName="John"这条JavaScript语句。

          3、值:JSON值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null

          4、对象:JSON 对象在花括号中书写,对象可以包含多个名称/值对:{ "firstName":"John" , "lastName":"Doe" }

          5、数组:JSON 数组在方括号中书写,数组可包含多个对象:

    {
    "employees": [
    { "firstName":"John" , "lastName":"Doe" },
    { "firstName":"Anna" , "lastName":"Smith" },
    { "firstName":"Peter" , "lastName":"Jones" }
    ]
    }

    六、实例

           创建包含 JSON 语法的 JavaScript 字符串:

                  var txt = '{ "sites" : [' +
                  '{ "name":"xxx" , "url":"www.xxx.com" },' +
                  '{ "name":"yyy" , "url":"www.yyy.com" },' +
                  '{ "name":"zzz" , "url":"www.zzz.com" } ]}';

           由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

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

           在网页中使用 JavaScript 对象:实例源码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>xxxyyyzzz</title>
    </head>
    <body>
    <h2>从 JSON 字符串中创建对象</h2>
    <p>
    网站名: <span id="name"></span><br>
    网站地址: <span id="url"></span><br>
    </p>
    <script>
    var txt = '{ "sites" : [' +
    '{ "name":"xxx" , "url":"www.xxx.com" },' +
    '{ "name":"yyy" , "url":"www.yyy.com" },' +
    '{ "name":"zzz" , "url":"www.zzz.com" } ]}';

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

    document.getElementById("name").innerHTML=obj.sites[0].name
    document.getElementById("url").innerHTML=obj.sites[0].url
    </script>
    </body>
    </html>

             本文参考于:http://www.w3school.com.cn/json/json_eval.asp

                                  http://www.runoob.com/json/json-eval.html

  • 相关阅读:
    Alchemy解决方案使得大型主机应用程序能在Windows Azure上运行
    Hello China操作系统微博:http://weibo.com/2196920292
    GDI+ 学习记录(12): 矩形 Rectangle、Rectangles
    GDI+ 学习记录(6): 使用画刷建立画笔
    GDI+ 学习记录(8): 阴影画刷 HatchBrush
    GDI+ 学习记录(5): 复合画笔
    GDI+ 学习记录(11): 路径渐变画刷 PathGradientBrush
    GDI+ 学习记录(7): 实心画刷 SolidBrush
    GDI+ 学习记录(4): 画笔对齐
    GDI+ 学习记录(13): 弧线 Arc
  • 原文地址:https://www.cnblogs.com/fancy-dawning/p/8857084.html
Copyright © 2011-2022 走看看