我已经使用PHP创建了一个JSON返回(实际上相当一部分)并且JSON根据JSONLint都是有效的,并且数据在我的小iPhone应用程序中有效,但对于每个返回的JSON提要我都会得到291个空行,1行包含所有JSON数据......
JSON返回的示例是:
{"EOF":"1","C":[{"T":"0 min","D":"0sec","MID":"","M":"","ML":"","C":"No comments"}]}
...在此之前有291个空白行...而空白我的意思是完全空白,没有空格,没有字符,绝对没有。
有没有其他人经历过这个,如果有的话,你是如何对抗它的?
****更新**** 这是代码:
基本上它从MySQL数据库中检索结果集,如果没有返回任何内容,则返回上面列出的JSON ...无论MySQL查询是否返回数据,我都会得到空白的291行。对于某些项目,数据库中有1行或2行,而对于其他项目,则有500多个项目,并且所有数据都会被正确返回和验证。
$jsonDetails='{"EOF":"'.$EOF.'","C":[';
while ($commentRow = mysql_fetch_row($allComments)) {
$commentMakername=get_Username($commentRow[2]);
$MakerLevel=get_UserLevel($commentRow[2]);
$jsonDetails.='{';
$jsonDetails.='"T":"'.strtolower($commentRow[3]).'",'; $jsonDetails.='"D":"'.human_time_diff( $commentRow[5] ).'",';
$jsonDetails.='"MID":"'.$commentRow[2].'",';
$jsonDetails.='"M":"'.ucfirst($commentMakername).'",';
$jsonDetails.='"ML":"'.$MakerLevel.'",'; $jsonDetails.='"C":"'.$commentRow[6].'"';
$jsonDetails.='},';
}
if(strlen($jsonDetails)>=17){
$jsonDetails=substr($jsonDetails,0,-1).']}';
}else{$jsonDetails='{"EOF:"1","C":[{"T":"0 min","D":"0sec","MID":"","M":"","ML":"","C":"No comments"}]}';}
return $jsonDetails;