b1000 [a1200] =>"> b1000 [a1200] =>"> b1000 [a1200] =>" />

JSON文字列をエンコードする際に、先頭に0が表示されるのはなぜですか?

その配列に json_encode 関数を使用するとjsonオブジェクトが返されますが、開始中括弧 {の前に0が付きます。

0{"a1000":"b1000","a1200":"b1200"}

PHP配列は次のとおりです。

Array
(
    [a1000] => b1000
    [a1200] => b1200
)

同じページで、異なる(ただし同じ構造化された)リクエストでは、返されるjsonオブジェクトに先行0はありません。

Chromeコンソールのエラーは次のとおりです。

Uncaught SyntaxError:予期しないトークン{

誰もこれまでにこの問題を遭遇したことはありますか?

1
あなたはどこかで0を出力していないと確信していますか?アソシエート配列の場合、jsonは{0:{...}}を返すので、あなたはどこかに浮遊配列0があるようです。ブラウザでjsonを提供するファイルを開き、簡単に確認できます。
追加された 著者 Ashley,
どのように配列を生成していますか?あらかじめ他の出力はありますか?
追加された 著者 Evan Mulawski,

1 答え

PHPがJSONの前に 0 を出力している可能性があります。すべてのコードを表示するわけではありませんが、次の点をすべて確認してください。

  • check there's no text before your <?php tag
  • look for any rogue echo or print statements
  • check that you're not using outputting functions such as readfile() or var_dump()
5
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com

JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript