JavaScriptでオブジェクトの表示

JSONPを利用して通信した後ってオブジェクトの中身って確かめたいよね。
ちょっと探したんだけど、私の検索力ではJavaScriptの中身を確かめる
良いライブラリが見つけられなくて結局自作したので晒します。

イメージとしてはphpのprint_rっぽいやつ。

※見ればわかりますが結構適当です。実用レベルって事で
※Firebug使えば見れるんですけどね。画面にガッと出したかったりもするので

function obj2str(obj, space) {
  var lf = "<br>";

  if (space == undefined) {
    space = " ";
  } else {
    space = space.replace(" ", "    ");
  }

  var str = "";  for (key in obj) {
    str += space;

    if (typeof(obj[key]) != "object") {
      str += key + ":" + obj[key] + lf;
    } else {
      if (isNaN(parseInt(key))) {
        str += key + ":Object()" + lf;
      } else {
        str += "[" + key + "]" + lf;
      }

      str += obj2str(obj[key], space);
    }
  }

  return str;
}

動作サンプルはここ
http://f56.aaa.livedoor.jp/~tdnr/lab/jsonp/

ひたすら再帰を使っているのでブラウザが悲鳴をあげたらごめんなさい。

JSのライブラリだけで他のサーバと通信できまるなんて便利すぎ!

利用しているライブラリは

XML.com: JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript
http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html

サーバ側のAPIは

価格.com API appleでの検索結果
http://jsonp.yatena.com/q/apple/

あと今まで手でソースコードをHTMLエスケープかけてたんだけどここ便利(preタグまでつけてくれる)

HTMLエスケープツール | Diaspar Journal
http://diaspar.jp/node/33

コメントを残す

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