从零学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 相关文章推荐
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
20个实用的JavaScript技巧分享
Nov 28 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
jQuery密码强度验证控件使用详解
Jan 05 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
angular中的http拦截器Interceptors的实现
Feb 21 Javascript
vue2.0 自定义日期时间过滤器
Jun 07 Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
在vue-cli中引入lodash.js并使用详解
Nov 13 Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
繁简字转换功能
2006/07/19 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
JS定时器实例
2013/04/17 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
党校学习思想汇报
2014/01/06 职场文书
社区七一党员活动方案
2014/01/25 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
工作证明英文模板
2014/10/21 职场文书
教师节获奖感言
2015/07/31 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技
Python开发五子棋小游戏
2022/05/02 Python
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript