2014-09-02 39 views
0

我有一些JSON的問題。我如何使我的陣列"$notify_id"成爲JSON數組?因爲當我運行我的推網絡應用程序時,它會回答我「Field 'data' must be a JSON array: {"registration_id":["14096543677114293"]}」。如何讓我的數組成爲JSON數組?

請幫

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; 
    } 
+3

'return json_encode($ notify_id);' – Steve 2014-09-02 10:56:52

+0

閱讀['json_encode'](http://php.net/manual/en/function.json-encode.php) – 2014-09-02 11:02:09

+0

根據你的例子JSON頂部,你需要'echo json_encode(array('registration_id'=> $ notify_id));' – 2014-09-02 11:05:23

回答

1

你要發送的Json頭

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

不,你不是哥們。 – 2014-09-02 11:04:50

0

使用

json_encode($notify_id); 

如果你得到一個錯誤,驗證輸出是有效的JSON在http://jsonlint.com

0

根據你的代碼函數返回一個數組,你必須傳遞給json_encode這個函數的結果。

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

請對json_encode功能看看

1

只需添加

回聲json_encode($ notify_id);

在你的代碼你data..in您 瀏覽器的這一功能打印陣列的結束ü必須JSON觀衆擴展,這樣你們可以查看您的JSON數據 作爲數組..

使用這個鏈接

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

把那個盒子裏檢查 你的代碼的頁面鏈接您的JSON程序是否是對還是錯