从零学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高级程序设计(第3版)学习笔记3 js简单数据类型
Oct 11 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
浅谈javascript面向对象程序设计
Jan 21 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
Apr 06 Javascript
详解AngularJS中的作用域
Jun 17 Javascript
js模仿php中strtotime()与date()函数实现方法
Aug 11 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
Angular项目中$scope.$apply()方法的使用详解
Jul 26 Javascript
Vue.directive 自定义指令的问题小结
Mar 04 Javascript
js实现倒计时器自定义时间和暂停
Feb 25 Javascript
使用p5.js临摹动态图片
Nov 04 Javascript
JavaScript使用canvas绘制坐标和线
Apr 28 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版)
2012/08/21 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javascript 面向对象的JavaScript类
2010/05/04 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
详解redux异步操作实践
2018/08/15 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
2018/12/06 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
简单介绍Python中的decode()方法的使用
2015/05/18 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
python实现多线程端口扫描
2019/08/31 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python正则表达式学习小例子
2020/03/03 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
公司同意接收函
2014/01/13 职场文书
学习礼仪心得体会
2014/09/01 职场文书
作风大整顿心得体会
2014/09/10 职场文书
自我查摆剖析材料
2014/10/11 职场文书
教师工作能力自我评价
2015/03/04 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
GO中sync包自由控制并发示例详解
2022/08/05 Golang