2015/08/05
【知らなかった】jsonの正しいフォーマット
すごくはまったので備忘録。
jsonを使う機会は多いのだが、今回はじめてjsonでやってはいけないフォーマットを発見した。
OK
1 2 3 | { "name": "山田 太郎" } |
NG(フォーマットエラー)
1 2 3 | { "name": "山田 太郎 " } |
値の末尾にタブ文字が入っているパターン。
これはNGらしい。
具体的には、これを文字列として取得→json_encodeするとnullが返ってくる=エラーとなってしまう。
更に、文中や文頭なら良いのか、と思い調べてみた結果
“山田 太郎” (文中) → エラー
” 山田太郎” (文頭) → エラー
となり、結局はタブ文字自体の使用が不可なようだ。
よく、0を先頭につけてはだめとか、ダブルクォーテーションしか使っちゃだめとかはあるが、これは知らずにはまってしまった
今回は理由があってjsonエンコードされていないjsonを使わなければならなかったのだが
要はちゃんとjsonエンコードされてないとだめということらしい
ちなみにjsonの形式チェックは以下を使用した
便利だったので一応共有まで
Author Profile
HOSHINO
ECのことを中心に書きたいと思います。 ネタが無いときはプログラムやデザインのことも書きます。
SHARE