从零学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 相关文章推荐
基于jquery的多功能软键盘插件
Jul 25 Javascript
jquery组件使用中遇到的问题整理及解决
Feb 21 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
Sep 24 Javascript
vue里面父组件修改子组件样式的方法
Feb 03 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
Feb 26 Javascript
对vue事件的延迟执行实例讲解
Aug 28 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
vue列表单项展开收缩功能之this.$refs的详解
May 05 Javascript
js实现消灭星星(web简易版)
Mar 24 Javascript
Vue3不支持Filters过滤器的问题
Sep 24 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中全局变量global的使用演示代码
2011/05/18 PHP
第五章 php数组操作
2011/12/30 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
php解析xml方法实例详解
2015/05/12 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
超简单使用Python换脸实例
2019/03/27 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
亚马逊海外购:亚马逊美国、英国、日本、德国直邮
2021/03/18 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
计算机应用毕业生自荐信
2013/10/23 职场文书
医科大学生毕业的自我评价分享
2013/11/12 职场文书
采购主管的岗位职责
2013/12/17 职场文书
求职个人评价范文
2014/04/09 职场文书
纪检监察建议书
2014/05/19 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
vue封装数字翻牌器
2022/04/20 Vue.js
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL