2016-01-27 74 views
1

我想将我的json对象转换为数组。我看到很多问题,但这并没有帮助我。将json转换为jquery中的数组

我的PHP代码:

$arr = Array ([1] => 10 [5] => 20) //array key is random 

我想分配上述数组jQuery的变量。

jQuery代码:

var obj = '<?php echo json_encode($arr)?>'; 

当我打印obj它给了我{"1":"10","5":"20"}。我想像[1:10,5:20]这样的数组结果。

之后,我想它的密钥来访问数组值(例如obj[1] or obj[5]

忽略我的语法错误。

谢谢。

+0

使用json_decode()函数 – msvairam

+0

VAR encodedJson =“<? php echo json_encode($ arr)?>'; var obj = $ .parseJSON(encodedJson); alert(obj [1]); //这将显示为10 –

+1

@Vaira:工程师先生想要将php数组分配给javascript变量。 json_decode会将json数据转换为php数组。不是php数组到json。 –

回答

3

你只需要在脚本中定义var obj'使用

<script> 

var obj = <?php echo json_encode($arr)?>; 
alert(obj[1]);// will alert 10 

</script> 
1
var data; //suppose data contains the json result i.e {"orders":[{"name":"Accessories"}}] 
var response_length=response.orders.length; //orders is the json array 
    var array_store = []; 
for (i = 0; i < response_length; i++) 
    array_store .push(response.orders[i].name); //name is json object 
1

简单的解决方案如下:

var encodedJson = '<?php echo json_encode($arr)?>'; 
var obj = $.parseJSON(encodedJson); 
alert(obj[1]); // this will show as 10