データをJavaScriptのオブジェクトで表現して、JavaScript処理系で eval()すれば、あとはJavaScriptのオブジェクトとして処理できる優れものです。
たとえば、XMLで
<person>
<name>Sassy</name>
<age>27</age>
</person>
と書くのを、
{
name : "Sassy",
age : " 27",
}
と書くことができます。
JSON形式はテキストなのでeval()をして捜査します。
以下が例です。
function func() {
var json_txt = '({name : "Sassy", age : "27"})';
var json_obj = eval(json_txt);
document.getElementById("result").innerHTML = json_obj["name"] + ":" + json_obj["age"];
}
XMLHTTPRequestにおいて、Content-Typeが "text/json" だったりしたら、requestText に対してeval()をしてデータを処理するわけです。
昔誰かに「JavaScriptはJSONに対応しているのか?」という問い合わせがあり、
サポートしているも何も、eval()ができるんだからあたりまえじゃないと思ったものです。
こういった新しい情報に対しては常にアンテナを張っておかないといかんなと思う今日頃です。
0 件のコメント:
コメントを投稿