45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > javascript >

json数据类型之数组和对象深入分析

电脑软硬件应用网 45IT.COM 时间:2014-05-26 12:01 作者:佚名
json格式的数据是以{}来定界了同样json数据类型有对象和数组了,下面本文章就举一些例子告诉大家json对象和数组用法与转换方法。
 

在JSON中,有两种结构:对象和数组。

 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不需要


son是一种异常简单易懂的数据格式,关于json的规定,仅仅如下而已:

1) 并列的数据之间用逗号(", ")分隔。
2) 映射用冒号(": ")表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号("{}")表示。

例如:

 代码如下  

 {"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}

2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
例如:

 代码如下  

 var jsonranklist=[{"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"},{"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"}];

JSON有两种结构数组和对象:数组表示有序数据的集合,而对象表示无序数据的集合。
看下面例子:

 代码如下  

$arr = array(111,'aaa','bbb');
 
$arr1 = array(
    'a' => 'aaa',
    'b' => 222
);
 
$arr2 = array(
    'a' => 'aaa',
    'other' => array(
        'bbb',1111
    )
);
echo json_encode($arr); //[111,"aaa","bbb"]
 
echo json_encode($arr1); //{"a":"aaa","b":222}
 
echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]}

从上看出:由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。

关于PHP对json支持说明:
json_encode只支持UTF-8编码的数据;
json_decode永远只反映一个PHP对象,带上第二个参数true可返回数组:

 代码如下  

$json = '{"a":"aaa","other":["bbb",1111]}';
 
print_r(json_decode($json));
 
print_r(json_decode($json, true));  

JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

 代码如下  

//由JSON字符串转换为JSON对象

var obj = eval('(' + str + ')');(Js自带)

或者

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

或者

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然后,就可以这样读取:

alert(obj.name);

alert(obj.sex);

顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识