JSONを使い慣れている人にとっては、常識かもしれないけど、知ったときは
「へぇ~~」ってなったのでね。
そもそも、JSONって何かと言うとJavaScriptでよく扱われるデータの書式のことです
(合ってるかな??
一般的な形は以下のとおり。
{"KEY":'VALUE',"KEY":'VALUE'}
みたいな形で、KeyとValueの形でデータを表します。
ちなみに、これはクライアント側だけではなく、サーバ側でも使えます。
だいぶ前に紹介したJSONICなんていうのは、JSON形式の文字列をJavaの
クラスにエンコードしたり、逆にクラスをJSON形式の文字列にデコードしたりしてくれる
ライブラリです。
それで、注目して欲しいのが、VALUEを「'」で囲っている所。
なんとなく、自分は今まで「'」を使ってたんだけど、コレだと問題があるのです。
例えば、value値に「"」を含みたい場合は、
{"KEY":'"hoge"'}で、問題無くvalue値が「"hoge"」として認識されます。
「'」をvalue値に含みたい場合は、
// パースできない {"KEY":''hoge''} // こっちもパースできない {"KEY":'\'hoge\''}上記みたいに記述したらパースJSONICがパース出来ずにExceptionをはいてしまいました。
で、代わりに下記の記述方法を試してみます。
{"KEY":"VALUE"}key値・value値ともに、「"」を囲み文字として使用してみます。
この方法だと、
{"KEY":"'hoge'"} {"KEY":"\"hoge\""}上記の様にすることで、それぞれvalue値に「"」「'」を含める事ができます。
もちろん問題なくJSONICパース出来ます。
どうやら、正式にはJSONのvalue値は["]で囲ってやるのが正しい形のようです。
今までは、なんとなく「'」を使用していたので、今後は「"」を使用していこうと思います。