February 8, 2010

JSONをHTMLのリスト形式で表示する

JSONをHTMLのリスト形式で表示するコードを書いてみた。

json = {"foo":"bar", "baz": [1,2,3]};

とかだったら

foo
bar
baz
  1. 1
  2. 2
  3. 3

以下、コード。

function json2list(json) {
 if (json==null) {
  return "null";
 }
 else if (json.constructor===Object) {
  var dl = $("<dl>");
  for (var key in json) {
   dl.append($("<dt>").html(key));
   dl.append($("<dd>").html(json2list(json[key])));
  }
  return dl;
 }
 else if (json.constructor===Array) {
  var ol = $("<ol>");
  var json_length = json.length;
  for (var i=0; i<json_length; i++) {
   ol.append($("<li>").html(json2list(json[i])));
  }
  return ol;
 }
 else {
  return json;
 }
}