求解答一个并列的json数据应该怎么处理 已经思考了2天了还是没结果
其实有两个问题
先说第一个问题
我是通过PDO 的fetchAll(PDO::FETCH_ASSOC)属性方法获取一个关联数组
格式是一个二维数组
通过print_r打印后获得
Array ( [0] => Array ( [id] => 1 [name] => kim1 [password] => 我是中文字符 [date] => 2016-01-01 00:00:00 ) [1] => Array ( [id] => 2 [name] => kim2 [password] => 我是中文字符1 [date] => 2016-01-01 00:00:00 ) [2] => Array ( [id] => 3 [name] => kim3 [password] => 我是中文字符1 [date] => 2016-01-01 00:00:00 )
问题是我使用json_encode()方法转换后转换后得到的是 这样一个并列数组的json格式
[{"id":"1","name":"kim1","password":"\u6211\u662f\u4e2d\u6587\u5b57\u7b26","date":"2016-01-01 00:00:00"},{"id":"2","name":"kim2","password":"\u6211\u662f\u4e2d\u6587\u5b57\u7b26","date":"2016-01-01 00:00:00"},{"id":"3","name":"kim3","password":"\u6211\u662f\u4e2d\u6587\u5b57\u7b26","date":"2016-01-01 00:00:00"}]
然而老师的php是通过设置的二维数组
$members['1']['username'] = "幕课网"; $members['1']['password'] = "mukewang"; $members['2']['username'] = "袁明贺"; $members['2']['password'] = "haha"; $members['2']['address'] = "北京市朝阳区"; $members['3']['members']['username']="我是第三个用户名";
我使用同样的方法 通过print_r打印后获得的是也是和我一样的数组格式
Array ( [1] => Array ( [username] => 幕课网 [password] => mukewang ) [2] => Array ( [username] => 袁明贺 [password] => haha [address] => 北京市朝阳区 [members] => Array ( [username] => 我是第三个用户名 ) ) )
那么问题来了 同样我通过我使用json_encode()方法转换后 的结果和得出的结果截然不同
是什么问题 老师的得出的结果是:
{"1":{"username":"\u5e55\u8bfe\u7f51","password":"mukewang"},"2":{"username":"\u8881\u660e\u8d3a","password":"haha","address":"\u5317\u4eac\u5e02\u671d\u9633\u533a","members":{"username":"\u6211\u662f\u7b2c\u4e09\u4e2a\u7528\u6237\u540d"}}}
我想问的第一个问题是 为什么会这样 一样的数组格式 转换JSON后得的结果为什么截然不同
下面是第二问问题
当得到老师的这种json格式
我可以通过"$().data[1].name: 获取值 "幕课网"
那么这种[{},{}]并列数组的格式 要怎么才能获取里面的name对应的"kim1"的值