[英]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.