jQuery cookie插件读取JSON对象

时间:2013-08-19 16:22:55

标签: javascript cookies jquery-plugins

我从PHP中保存了assoc数组中的一些数据。有一些Id放在数组中然后json_encoded:

$ids = array(id => id, id2 => id2);
json_encode($ids);
store in the cookie ...

我正在使用jQuery的这个插件:http://plugins.jquery.com/cookie/

这是字符串,存储在cookie中的值为:“xxx”

%7B%2222504454%22%3A22504454%7D

path: "/"

domain: ".domain.com"

当我使用这个时:

var test = $.cookie( 'xxx');

我只收到Object作为回复。

如何读取此数组?

1 个答案:

答案 0 :(得分:3)

JSON和JavaScript不支持" 关联" ArrayŠ 1 。它们的等价物是an Object

<?php echo json_encode(array(id => 'foo', id2 => 'bar')); ?>
{ "id": "foo", "id2": "bar" }

他们的Arrays是带有0length - 1索引的已排序集合,可以从非关联数组生成。

<?php echo json_encode(array('foo', 'bar')); ?>
[ "foo", "bar" ]

注意:

  1. JavaScript Array在被实例化后可以被赋予非数字键,但这些键不会计入​​length

  2. 除了这种区别:要将cookie视为ObjectArray,您需要使用JSON.parse()或{{3}来解析它}}

    var test = JSON.parse($.cookie('xxx'));
    
    console.log(test.id);
    console.log(test.id2);