如何使我的数组成为JSON数组?

时间:2014-09-02 10:55:49

标签: php json

我在使用JSON时遇到了一些问题。如何使我的数组"$notify_id"成为JSON数组?因为当我运行我的推送Web应用程序时,它将回答我" Field 'data' must be a JSON array: {"registration_id":["14096543677114293"]}"。

请帮忙

   function insertNotificationStartTime($registration_id) {
        $timestamp = time();
        $start_notify = date("Y-m-d H:i:s",$timestamp);
        for ($i = 0; $i < count($registration_id); $i++) {
            $random = rand(1, 10000000);
            $query = "INSERT INTO notify (id,registration_id,start_notify) VALUES ('" .$timestamp.$random. "','" .$registration_id[$i]. "','" .$start_notify. "')";
            $result = mysql_query($query);
            if (!$result) {
                die('Invalid query: ' . mysql_error());
            }
            $notify_id[] = $timestamp.$random;
        }
        return $notify_id;
    }

5 个答案:

答案 0 :(得分:1)

你必须发送Json标题

header('Content-Type: application/json');
echo json_encode($notify_id);

答案 1 :(得分:1)

  

只需添加

echo json_encode($ notify_id);

  

在你的代码末尾,这个函数打印你的数据数据   浏览器你必须有json viewer扩展,所以你可以查看你的json数据   如阵列..

     

使用此链接

     

[1]:http://jsonlint.com/

     

将您的代码页链接放在该框中检查   你的json程序是对还是错

答案 2 :(得分:0)

使用

json_encode($notify_id);

如果收到错误,请在http://jsonlint.com验证输出是否有效json。

答案 3 :(得分:0)

根据你的代码,函数返回一个数组,你必须传递给json_encode这个函数的结果。

$result = insertNotificationStartTime($registration_id);
header('Content-Type: application/json');
echo json_encode($result);

请查看json_encode功能

答案 4 :(得分:0)

向后兼容脚本:https://github.com/douglascrockford/JSON-js/blob/master/json2.js

并致电:

var myJsonString = JSON.stringify(yourArray);

注意:JSON对象现在是大多数现代Web浏览器(IE 8及以上版本)的一部分。请参阅caniuse以获取完整列表。