json 和 字符串之间的转换, js部分
var arr_byb = [{'title':'shibaolin','age':20}];
var arr_add = {'title':'tongxin','age':21};
var new_len = arr_byb.push(arr_add);
var new_len = arr_byb.push(arr_add);
var str = json2str(arr_byb);
//var newjson = str2json(str);
// $.cookie('the_cookie', 'the_value')
//alert(newjson[0].age);
$.cookie('the_cookie',str);
function json2str(o) {
var arr = [];
var fmt = function(s) {
if (typeof s == 'object' && s != null) return json2str(s);
return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
}
for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
return '{' + arr.join(',') + '}';
}
function str2json(str){
return eval('('+str+')');
}
php调用js保存的cookie,然后解析
$json_str = $_COOKIE['the_cookie'];
$json_str = str_replace("'",'"',$json_str);
$json_arr = json_decode($json_str,true);
foreach($json_arr as $item):
echo $item['title'].'
';
endforeach;
php解析json字符串的时候注意要将单引号转化成双引号,否则无法正常使用
然后如果想把json_decode()处理的字符串转化为数组,则json_decode的第二个参数必须使用true,否则为object