理解json两种结构:数组和对象

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

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

1、

$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可返回数组:

2、

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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。