PHPでJSONを扱う際の罠  Unexpected token  in JSON at position 0


PHPでjsonをecho出力するような仕組みを作っている際、フロント側のjavascriptで

Unexpected token  in JSON at position 0
のエラーを吐き出した。

さっきまで動作していたような気が・・

以前このパターンははまったことがあり
それは、無用な空白等がjsonにふくまれていると発生してました。

そういえばさっきincludeファイルを一つふやしたなーとみてみれば
増やしたファイルをみてみれば

<?php
の表記が2行目から始まっており、このためjson頭に改行コードが含まれていたわけです。

2度目ははまらんと、さっさと直し、
再度実行・・

するけど現象かわらず・・

よく見ると保存形式BOM付きでした・・
BOM無しにして事なきを得る。

ということで
Unexpected token  in JSON at position 0
がでたときのまとめ。

・ファイルの頭に空白、改行等含め不要な文字はないか?
・BOM付きで保存してないか?

忘れた頃にでてきて、はまるよなー・・・


0 件のコメント :

コメントを投稿