2012-12-18 75 views
0

从查询中攫取JSON数组。这不是在数据中打印keyss。JSON数组不打印键

我想到:

["0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"] 

我能得到什么?

["3675E5010E2738","4114009","2012-11-05","Active","2012-12-11"] 

JSON从PHP/JSON编码产生:

$array = $model->ListData(); 
echo json_encode($array); 

我已经试过同时装入loadRowList();loadAssocList();并且都不产生密钥。

+1

你期望的不是JSON,var_dump($ array);'给你什么? – Musa

+0

奇怪的是我所看到的大多数例子都是与数据相关的键。好吧。猜猜我只需要使用数字。 – Plummer

回答

2

因为这不是JSON如何代表阵列

["0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"]不是有效的JSON。

{"0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"}是,但这是对象的表示,而不是数组。

如果$model->ListData();返回一个数组,那么就像您的代码所表明的那样,那么您得到的表示是正确的。

无论如何,因为json[0]会以同样的方式工作,无论它是数组还是带数字键的对象,它有什么关系?

+0

第一次使用JSON。不知道。 PHP中使用的数字键在一段时间后变得混乱。我希望能用JSON使用assoc数组。 – Plummer

+1

退房http://json.org上有效的JSON – Dancrumb

+0

这样的细节,从JSON/AJAX获取数据会是这样的: '$阿贾克斯({ 网址:网址, 数据类型:JSON, 成功:函数(data){('#test')。html(data.0); }});' – Plummer

1

你有从0开始的数字键。你不需要有钥匙来正确解释它。

0

请记住,JSON是JavaScript对象表示法,这意味着它使用JavaScript语法。

变种myObject的= { 0: '零', 1: '一', 2: '二' }; var myArray = [ 'zero', 'one', 'two' ];数组和对象用于不同的目的。对象支持键,数组不支持。