javascriptでjsonのパース

またjsonか。いちいちつまづくのでメモ。

例えばjQueryでajaxを以下のようにして使うことを考える。


function display(data) {
    // dataがきっとJSON!
}
$.get("hoge.php", null, display);

上記の場合、display()がコールバック関数での第一引数(data)にはhoge.phpの出力が入ってくる。
hoge.phpが例えば


[100,200,300]

って返すようになっているとき、display()でdataをJSONとして使うには


function display(data) {
   jsondata = eval(data);
   if (jsondata[0] == 100) {
      ~~~
      ~~~
   }
}

見たいな感じで使う。dataには文字列として入ってくるので


data = "[100,200,300]"

となってるから注意。
もしhoge.phpが


{"a":100,"b":200,"c":300}

な感じで連想配列になっている場合は、


jsondata = eval("("+data+")");

って感じで丸カッコを両端にくっつけた上でevalすればいいっぽい。

以上

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: Ajax, Javascript, jQuery パーマリンク

コメントを残す

メールアドレスが公開されることはありません。