从零学JSON之JSON数据结构


Posted in Javascript onMay 19, 2014

最近在开发微信平台,要使用JSON进行数据交换,之前用过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数组结构。

Javascript 相关文章推荐
javascript 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
AngularJS控制器继承自另一控制器
May 09 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
Node.js使用Express.Router的方法
Nov 14 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
Jan 02 Javascript
js实现二级菜单点击显示当前内容效果
Apr 28 Javascript
详解小程序云开发攻略(解决最棘手的问题)
Sep 30 Javascript
vue3为什么要用proxy替代defineProperty
Oct 19 Javascript
jquery 选取方法都有哪些
May 18 #Javascript
jquery中获得元素尺寸和坐标的方法整理
May 18 #Javascript
JQuery打造省市下拉框联动效果
May 18 #Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 #Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 #Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
May 18 #Javascript
绑定回车enter事件代码
May 18 #Javascript
You might like
当海贼王变成JOJO风
2020/03/02 日漫
坏狼的PHP学习教程之第2天
2008/06/15 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
PHP中通过加号合并数组的一个简单方法分享
2011/01/27 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
最新28个很棒的jQuery 教程
2011/05/28 Javascript
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jquery实现的树形目录实例
2015/06/26 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
Unicode和Python的中文处理
2017/03/19 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
Python中的__init__作用是什么
2020/06/09 Python
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
什么叫做SQL注入,如何防止
2016/10/04 面试题
Linux的主要特性
2016/09/03 面试题
国际贸易专业个人求职信格式
2014/02/02 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
民事赔偿协议书
2014/11/02 职场文书
竞聘书的秘诀
2019/04/02 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Python实现老照片修复之上色小技巧
2021/10/16 Python