zoukankan      html  css  js  c++  java
  • JSON 简明教程

    前言

    什么是 JSON ?

    • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
    • JSON 是轻量级的文本数据交换格式
    • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
    • JSON 具有自我描述性,更易理解

    JSON vs XML?

    • JSON 和 XML 都用于接收 web 服务端的数据。
    • JSON 和 XML在写法上有所不同,如下所示:

    JSON 实例

    {
        "sites": [
        { "name":"菜鸟教程" , "url":"www.runoob.com" },
        { "name":"google" , "url":"www.google.com" },
        { "name":"微博" , "url":"www.weibo.com" }
        ]
    }

    XML 实例

    <sites>
      <site>
        <name>菜鸟教程</name> <url>www.runoob.com</url>
      </site>
      <site>
        <name>google</name> <url>www.google.com</url>
      </site>
      <site>
        <name>微博</name> <url>www.weibo.com</url>
      </site>
    </sites>

    JSON 与 XML 的相同之处:

    • JSON 和 XML 数据都是 "自我描述" ,都易于理解。
    • JSON 和 XML 数据都是有层次的结构
    • JSON 和 XML 数据可以被大多数编程语言使用

    JSON 与 XML 的不同之处:

    • JSON 不需要结束标签
    • JSON 更加简短
    • JSON 读写速度更快
    • JSON 可以使用数组

    一、JSON 基础语法

    语法要点

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 大括号保存对象
    • 中括号保存数组

    JSON 名称/值对

    JSON 数据的书写格式是:名称/值对。

    名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

    "name" : "菜鸟教程"

    JSON 值

    JSON 值可以是:

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

    JSON 数字

    JSON 数字可以是整型或者浮点型:

    { "age":30 }

    JSON 对象

    JSON 对象在大括号({})中书写:

    对象可以包含多个 key/value(键/值)对。

    { "name":"菜鸟教程" , "url":"www.runoob.com" }

    key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。

    key 和 value 中使用冒号(:)分割。

    每个 key/value 对使用逗号(,)分割。

    嵌套 JSON 对象:

    JSON 对象中可以包含另外一个 JSON 对象:

    实例

    {
        "name":"runoob",
        "alexa":10000,
        "sites": {
            "site1":"www.runoob.com",
            "site2":"m.runoob.com",
            "site3":"c.runoob.com"
        }
    }

    JSON 数组

    JSON 数组在中括号中书写,数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null),如:

    [ "Google", "Runoob", "Taobao" ]

    数组也可包含多个对象,如下面的例子中,对象 "sites" 是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录:

    {
      "sites": [
        { "name":"菜鸟教程" , "url":"www.runoob.com" },
        { "name":"google" , "url":"www.google.com" },
        { "name":"微博" , "url":"www.weibo.com" }
      ]
    }

    JSON 对象中的数组:

    实例

    {
        "name":"网站",
        "num":3,
        "sites":[ "Google", "Runoob", "Taobao" ]
    }

    JSON 布尔值

    JSON 布尔值可以是 true 或者 false:

    { "flag":true }

    JSON null

    JSON 可以设置 null 值:

    { "runoob":null }

    在下面的章节,您将学到如何把 JSON 文本转换为 JavaScript 对象。

    JSON 文件

    • JSON 文件的文件类型是 ".json"
    • JSON 文本的 MIME 类型是 "application/json"

    二、JSON解析工具

    http://www.json.cn/

    http://c.runoob.com/front-end/53

  • 相关阅读:
    SQLServer 2008 附加数据库出现问题
    Window8下遇到的一些问题
    SqlServer中bit类型的性别的一些问题
    Sql server 2008 的MSSQLSERVER启动不起来
    GridView的 使用
    hibernate连接Mysql中文乱码处理
    windows部署tomcat到MyEclipse
    MyEclipse Eclipse下配置各种插件的方法
    android获取手机的网络状态
    android为HttpClient和HttpURLConnection添加中国移动代理
  • 原文地址:https://www.cnblogs.com/realjimmy/p/13458529.html
Copyright © 2011-2022 走看看