3

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;
4

0 に答える 0