2013-06-04 76 views
-1

我試圖JSON對象發送到PHP文件,然後將其插入到數據庫:發送JSON到PHP - 解碼問題

[「[{」稱號「:」婚姻(同性別伴侶)「,」日期「:」20 ...海外人員和相關目的。「]」,「{」title「:」能源「,」日期「:」2013-06-04「,」地點「 :......退出費用;以及相關目的}}「,」[{「title」:「兒童和家庭」,「日期」:「2013-06- ...靈活工作;用於關聯目的}]」,「[{」title「 :「財務」,「日期」:「2013-06-04」,「地點」......與財務有關的進一步規定。 ...]「」,「{」title「:」Care「,」date「:」2013-06-04「,」location「:」L ...研究機構, []「,」{「title」:「間皮瘤」,「日期」:「2013-06-04」,「本地...某些保險糾紛的解決。}]」] 0: 「[」標題「:」婚姻(同性伴侶)「,」日期「:」2013-06-04「,」地點「:」上議院「,」billtype「:」政府法案「,」linkurl「 http://services.parliament.uk/bills/2013-14/marriagesamesexcouplesbill.html「,」描述「:」爲英格蘭和威爾士同性配偶婚姻提供條款的法案,關於已婚人士和民事合夥人的性別變化,關於婚姻領事職能,武裝部隊人員結婚的法案埃爾海外,以及相關事宜}]」 ... 長度:7

我遇到的問題是,我不知道它是什麼樣子,或者如何處理它在PHP的階段,所以我可以分隔每一行,並將其添加到數據庫中。

<?php 
include('sql.php'); 

$switch = $_POST['switch']; 

switch ($switch) { 

    case "rssAdd": 

    $info[] = json_decode($_POST['data'], true); 


    $sql = "INSERT INTO rssFeed (date, title, description, location, billtype, link) VALUES(". $info['date'] .",". $uid .", ". $voted .", NOW())"; 
    //$inres = $mysqli->query($sql); 
    echo "worked: ".$info; 

    break; 
} 
?> 

因爲我看不到有什麼$信息樣子,或者它是如何解碼,我真的覺得很難弄清楚。請有人給我一個正確的方向。

謝謝

+0

值得注意的是,我console.log我發送到PHP文件,這是我得到的JSON信息。 –

+0

XML在哪裏?或者這只是你問題標題中的錯誤? –

+0

好點,數據來自一個XML(rss提要),然後我把它推入到JavaScript中的JSON中,然後將它加入到php中。我猜想這個問題是一個錯誤。 –

回答

3

通過看你的JSON我覺得json_decode($_POST['data'], true);將返回數組的數組,所以你應該使用:

$info = json_decode($_POST['data'], true); 
foreach($info as $t) 
{ 
    $sql = "INSERT INTO rssFeed (date, title, description, location, billtype, link) VALUES(". $t['date'] .",". $uid .", ". $voted .", NOW())"; 
} 

您也可以使用print_r($info);打印$info對象,看到的輸出json_decode($_POST['data'], true);

+0

如果我只是print_r($ info)或回顯給JS哪個console.log(result )它的空白。這是否意味着$ info是空的? –

+1

如果print_r($ info)不顯示任何內容,則表示$ info爲null,即'json_decode'返回null,即您的JSON字符串不能被解碼。在這種情況下請檢查您的JSON字符串的正確性。使用任何在線的JSON驗證器來檢查您的JSON字符串是否正確。 –

+0

正確,json不正確。我可以通過ajax移動XML,而不是試圖將其轉換爲json並讓PHP解析xml?那。 –