(`;ω;)ぐぬぬぬぬぬ・・・
めっちゃめんどくさかったお!!!
単純だったけど、ハマったのでメモ
JSON.stringify()について
Jsonを文字列へ変換してくれるメソッドです。ドキュメント的には「JavaScript のオブジェクト」から「JSON 文字列」に変換する」と記述があります。
JavaScriptプログラミング講座【JSON について】
Jsonに必要なエスケープ処理などもしてくれますので、便利です。
今回ハマったこと
JSON.stringify()についてですが、この関数に空文字を引数として渡すとと結果は'""'という文字列を返します。
// 通常JSONの値を入れると・・・ JSON.stringify('{ "data" : "hoge" }'); // ""{ \"data\" : \"hoge\" }"" // 空文字かな? > JSON.stringify(''); // ""
勘違いしてしまったことは、空文字を入れてしまったときに返される文字列を"空文字"と思い込んでいたのだ!!! (´;ω;)
// ?????(´?ω?) > ! JSON.stringify(''); // false // ?????(´?ω?) > JSON.stringify('') == ''; // false // がぁああああああああ!!!??? > JSON.stringify('') == '""' // true
空文字ではなかった。文字列'""'を返してくるので、ダブルクォーテーション2つと比較するとtrueになる。
いや〜、半日つかったわorz
JavaScriptって、結構広い、、、今後注意しよう(´;ω;)