从零学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 相关文章推荐
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
jQuery实现 注册时选择阅读条款 左右移动
Apr 11 Javascript
JavaScript网页定位详解
Jan 13 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
select多选 multiple的使用示例
Jun 16 Javascript
JavaScript随机生成信用卡卡号的方法
Apr 07 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
详解Angular5 路由传参的3种方法
Apr 28 Javascript
Vue和React组件之间的传值方式详解
Jan 31 Javascript
Vue插件之滑动验证码用法详解
Apr 05 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
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
JavaScript window.location对象
2014/11/14 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
如何使用python切换hosts文件
2020/04/29 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
Python 如何定义匿名或内联函数
2020/08/01 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
体育教育专业毕业生自荐信
2013/11/15 职场文书
小学信息技术教学反思
2014/02/10 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
检查接待方案
2014/02/27 职场文书
yy生日主持词
2014/03/20 职场文书
体育教师求职信
2014/06/30 职场文书
学校创先争优活动总结
2014/08/28 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
委托证明模板
2014/09/16 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
Redis主从复制操作和配置详情
2022/09/23 Redis