将JSON发送到PHP - 解码问题

时间:2013-06-04 09:44:44

标签: php jquery json

我正在尝试将一个JSON对象发送到PHP文件,然后将其插入到数据库中:

  

[“[{”title“:”婚姻(同性伴侣)“,”日期“:”20 ......海外人员,以及相关目的。}]“,”[{“title”:“Energy”, “日期”:“2013-06-04”,“地点”:......省略费用;并且用于连接目的。}]“,”[{“title”:“儿童和家庭”,“日期”:“2013-06- ......灵活工作;以及用于连接目的}]”,“[{”title“ :“财务”,“日期”:“2013-06-04”,“地点”...... e与财务有关的进一步规定。}]“,”[{“title”:“罪犯康复”,“日期”:“ 2013-0 ... ed判决命令,并用于连接目的。}]“,”[{“title”:“Care”,“date”:“2013-06-04”,“location”:“L ... Research Authority,并且用于相关目的。}]“,”[{“title”:“间皮瘤”,“日期”:“2013-06-04”,“当地......解决某些保险纠纷。}]”]   0:“[{”title“:”Marriage(Same Sex Couples)“,”date“:”2013-06-04“,”location“:”Lords“,”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;
}
?>

因为我无法看到$ info的样子,或者它是如何被解码的,所以我真的觉得很难弄明白。请有人能指出我正确的方向。

谢谢

1 个答案:

答案 0 :(得分: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())";
}

您也可以使用$info打印print_r($info);对象并查看json_decode($_POST['data'], true);的输出