仕事でJSONデータをバリバリ使うことになった。
けど、階層が多いからちゃんとデータ設定できているのか気になって、解析しようとJavaScriptで組むことにした。
(本当はExcelのマクロでセルにペタッと出力させたかったのだが)
<body> <textarea id="src"></textarea><br> <button onclick="javascript:return parseData();">解析</button><br> <pre id="res"></pre> <script> var doc = ""; var indent = " "; // 解析 function parseData() { var srcObj = document.getElementById("src"); var resObj = document.getElementById("res"); doc = ""; resObj.innerHTML = doc; var json = JSON.parse(srcObj.value); convJson(json, ""); resObj.innerHTML = doc; } // 解析処理本体 // obj : JSONデータ, caps : 階層表示インデント function convJson(obj, caps) { if (typeof(obj) == "object") { for (var i in obj) { if (typeof(obj[i]) == "object") { doc += caps + "[" + i + "]<br>"; convJson(obj[i], caps + indent); // 下の階層を解析 } else { doc += caps + i + " : " + obj[i] + "<br>"; } } } else { doc += caps + i + " : " + obj[i] + "<br>"; } } </script> </body>