需要php数组到json的帮助吗
有阵列的需要php数组到json的帮助吗,php,javascript,jquery,Php,Javascript,Jquery,有阵列的 `Array ( [0] => Array ( [operative] => 2 [start] => 01:00:00 [end] => 13:00:00 [color] => 543939 ) [1] => Array ( [operative] =>
`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用于JavaScript时,这两个函数都给出了未定义的值
好的,我是这样用的
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=如果您使用的是$.parseJSON-函数,则可解析的数据应为字符串:
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.parse要求参数为字符串。在JSON数据周围加上“单引号”,使其成为字符串,因为在显示代码之前,您已经在JSON中使用了双引号
var object = $.parseJSON(<?php echo json_encode($array)?>);
请注意,它被引号括起来。使用
看起来您正在将json编码的字符串回显到javascript中。您可以这样做,只需去掉引号:
var options = <?= json_encode($array); ?>;
JSON是JavaScript对象表示法的首字母缩写。将其回显到JS脚本中会产生有效的javascript数组和对象文本。根本不需要解析它。给我们您的javascript代码。您是否用引号括起来了?请确保您检索的数据实际上是json字符串,只不过是console.log而已。您的json本身是有效的,因此如果您将该字符串作为参数传递,$.parseJSON数据应该返回一个数组。var data=;我不认为警报需要两个参数但是。。。如果JSON实际上是一个JavaScript代码,为什么要解析它呢?只需执行var data=;,不需要解析!或者保留引号,不解析有效的JSON。JavaScript对象表示法是有效的JavaScript,只需无引号地回显它!
done(function (jsonresponse) {
var obj = $.parseJSON(jsonresponse);
console.log(obj);
};
var options = <?= json_encode($array); ?>;