我已经使用 PHP 创建了一个 JSON 返回(实际上其中有很多),根据 JSONLint,JSON 都是有效的,并且数据在我的小 iPhone 应用程序中确实有效,但是对于每个返回的 JSON 提要,我得到 291 个空白行,包含所有 JSON 数据的 1 行...
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;