中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    JSON 基础结构

    阅读 (2448)
    一、JSON是什么?
    JSON,说白了就是JavaScript用来处理数据的一种格式,这种格式非常简单易用。
    JSON,大部分都是用来处理JavaScript和web服务器端之间的数据交换,把后台web服务器的数据传递到前台,然后使用JavaScript进行处理,例如ajax等。
    JSON支持的语言非常多,包括JavaScript、C#、PHP、Java等等,这是由于JSON独立于语言的轻量级的数据交换格式,这个特点有点类似于SQL语言。


    二、JSON的2种结构

    JSON结构共有2种:
    (1)对象结构;
    (2)数组结构;

    1、对象结构
    对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。

    语法:

    var jsonObj =
    {
        "键名1":值1,
        "键名2":值2,
        ……
        "键名n":值n
    }

    说明:
    jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。
    注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

    2、JSON数组结构
    JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。

    语法:
    var arr =
    [
        {
            "键名1":值1,
            "键名2":值2
        },
        {
            "键名3":值3,
            "键名4":值4
        },
        ……
    ]
    说明:
    arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象,大家看看像不像?而且语法都非常类似。
    注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

    对于JSON对象结构和JSON数组结构的读取、写入、修改、删除和遍历等操作请到相应章节认真查看。

    代码片断1:

    代码如下:
    {
         "button":[
         {    
              "type":"click",
              "name":"今日歌曲",
              "key":"V1001_TODAY_MUSIC"
          },
          {
               "type":"click",
               "name":"歌手简介",
               "key":"V1001_TODAY_SINGER"
          },
          {
               "name":"菜单",
               "sub_button":[
               {    
                   "type":"view",
                   "name":"搜索",
                   "url":"http://www.soso.com/"
                },
                {
                   "type":"view",
                   "name":"视频",
                   "url":"http://v.qq.com/"
                },
                {
                   "type":"click",
                   "name":"赞一下我们",
                   "key":"V1001_GOOD"
                }]
           }]
     }

    然后用PHP的json_encode()函数,对一二维数组转换成JSON形式
     但转换出来的JSON形式:

     代码片断2:

    代码如下:
    {
        "button": {
            "1": {
                "type": "click",
                "name": "今日歌曲",
                "key": "V1001_TODAY_MUSIC"
            },
            "2": {
                "type": "click",
                "name": "歌手简介",
                "key": "V1001_TODAY_SINGER"
            },
            "3": {
                "name": "菜单",
                "sub_button": [
                    {
                        "type": "view",
                        "name": "搜索",
                        "url": "http://www.soso.com/"
                    },
                    {
                        "type": "view",
                        "name": "视频",
                        "url": "http://v.qq.com/"
                    },
                    {
                        "type": "click",
                        "name": "赞一下我们",
                        "key": "V1001_GOOD"
                    }
                ]
            }
        }
    }

    看出来形式是不一致的。

    只能来了解一下JSON的结构形式。
    JSON有两种数据:1.无序的对象结构;2.有序的数组结构


    1.无序的对象结构
     无序的对象结构在不同语言中称法不同,比如在Python中称为字典,在JS中称为JSON对象……
     总之就是键/值对组合形式。
     刚才我转换出来的JSON结构就是无序的键/值对组合


    2.有序的数组结构
     有序的的数组结构,即代码片断2所展示的结构。
     将数组作为有序数组进行转换JSON,就可以得到有序的JOSN数组结构。


    关闭
    程序员人生