我需要一个示例格式的json输出:
[ { "date": "2013-04-01 17:30:00", "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url": "http://test.com?id=1" }, { "date": "2013-04-02 17:30:00", "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url": "http://test.com?id=2" } }]
最后一个逗号需要去掉:"http://test.com?id=2"},}]创建一个没有错误的json-output。我正在使用php,这里是我的php代码的相关部分:(略有更改,仅显示相关部分)
echo '[';
foreach ($enquirydates as $edate)
{
if ($x <= $firstunixdate )//first follow-up
{
echo ' { "date": "'; echo date("Y-m-d ", $firstunixdate); echo '", "type": "Follow-up", "title": "Student Enquiry '; echo ' Follow-up (First Follow-Up)", "description": "First Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '" },';
}
elseif ($x <= $secondunixdate)//second followup
{
echo ' { "date": "'; echo date("Y-m-d ",$secondunixdate); echo '", "type": "Follow-up", "title": "Student Enquiry '; echo ' Follow-up (Second Follow-Up)", "description": "Second Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '"},';
}
elseif ($x > $finalunixdate)//enquiry open for more than 25 days
{
echo ' { "date": "'; echo date("Y-m-d ",$x); echo '", "type": "Follow-up", "title": "Student Enquiry '; echo ' open for more than 25 days", "description": "Second Student Enquiry followup due..", "url": "http://test.com/admin/followup.php?time=';echo $unixenquirydate; echo '"},';
}//end if
}
echo ']';
我需要删除foreach循环中的最后一个逗号。我知道内爆可以用来删除php中的结束字符串。但我不知道如何在这种情况下使用它(多个回声语句)
正在请求帮助。。
这不是生成JSON的方法。
创建一个数组,并使用json_encode()函数将其转换为json字符串。
但如果你坚持按照自己的方式来做:
$json = Array();
foreach($enquirydates as $edate) {
if($x <= $firstunixdate) { //first follow-up
$json[] = '{"date":"'.date("Y-m-d", $firstunixdate).'","type":"Follow-up","title":"Student Enquiry Follow-up (First Follow-Up)","description":"First Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
}
else if($x <= $secondunixdate) { //second followup
$json[] = '{"date":"'.date("Y-m-d",$secondunixdate).'","type":"Follow-up","title":"Student Enquiry Follow-up (Second Follow-Up)","description":"Second Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
}
else if($x > $finalunixdate) { //enquiry open for more than 25 days
$json[] = '{"date":"'.date("Y-m-d",$x).'","type":"Follow-up","title":"Student Enquiry open for more than 25 days","description":"Second Student Enquiry followup due..","url":"http://test.com/admin/followup.php?time='.$unixenquirydate.'"}';
} //end if
}
echo '['.implode(',', $json).']';
与其手动构建JSON,不如先构建一个数组,并使用$JSON=JSON_encode($array)来获取有效的JSON字符串。