[英]Need help in php array to json
有一个数组
`Array
(
[0] => Array
(
[operative] => 2
[start] => 01:00:00
[end] => 13:00:00
[color] => 543939
)
[1] => Array
(
[operative] => 3
[start] => 08:00:00
[end] => 09:00:00
[color] => 52e612
)
)
`
需要将其更改为JSON,所以我使用json_encode(),我得到了一个字符串
[{"operative":"2","start":" 01:00:00","end":" 13:00:00","color":"543939"},{"operative":"3","start":" 08:00:00","end":" 09:00:00","color":"52e612"}]
但是当我通过$ .parseJSON()或JSON.parse()函数在JSON中使用JSON时,两者都没有给我定义。
好的,我已经这样使用了
options1 = '[{"operative":"2","start":" 01:00:00","end":" 13:00:00","color":"543939"},{"operative":"3","start":" 08:00:00","end":" 09:00:00","color":"52e612"}]'
options1 = $.parseJSON(options1);
alert($.param(options1));
但是警报显示我undefined =&undefined =
如果使用$ .parseJSON()-function,则可分析数据应为字符串:
var json = '[{"operative":"2","start":" 01:00:00","end":" 13:00:00","color":"543939"},{"operative":"3","start":" 08:00:00","end":" 09:00:00","color":"52e612"}]';
console.log($.parseJSON(json));
看来您正在将json编码的字符串回显到JavaScript中。 您可以执行此操作,而只需删除引号即可:
var options = <?= json_encode($array); ?>;
JSON是JavaScript Object Notation的首字母缩写。 将其回显到JS脚本中会产生有效的javascript数组和对象文字。 完全不需要解析。
在您显示代码之前,我假设这就是您所做的:
var object = $.parseJSON(<?php echo json_encode($array)?>);
这将不起作用,因为parseJSON
需要一个字符串作为参数。
因此解决方案将是:
var object = $.parseJSON('<?php echo json_encode($array)?>');
请注意,它用引号引起来。
JSON.parse()期望参数为字符串。 通过用“单引号”将它括起来,使JSON数据成为字符串(因为您已经在JSON中使用了“双引号”)
done(function (jsonresponse) {
var obj = $.parseJSON(jsonresponse);
console.log(obj);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.