从零学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 相关文章推荐
获取Javscript执行函数名称的方法
Dec 22 Javascript
javascript 函数式编程
Aug 16 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
基于jQuery的树控件实现代码(asp.net+json)
Jul 11 Javascript
ES6生成器用法实例分析
Apr 10 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
Javascript(es2016) import和require用法和区别详解
Aug 11 Javascript
JS设计模式之数据访问对象模式的实例讲解
Sep 30 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
May 21 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
Oct 23 jQuery
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 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
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
老生常谈js数据类型
2017/08/03 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
Python批量按比例缩小图片脚本分享
2015/05/21 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
使用Python函数进行模块化的实现
2019/11/15 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
浅谈python出错时traceback的解读
2020/07/15 Python
python绘制趋势图的示例
2020/09/17 Python
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
读书活动实施方案
2014/03/10 职场文书
2019秋季运动会口号
2019/06/25 职场文书
英镑符号 £
2022/02/17 杂记
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python