トップページ > コンテンツ > プログラミング入門 > Ajax入門 > JavaScript入門 > javascriptファイル入出力 > JSONファイルの扱い方

  • evalによるJSONファイル取得
javascriptでJSONファイルを扱うには、data = eval("("+データ+")");としてやる。
次のようなJSONファイルを受け取っていたとすると
{
name: "太郎"
age: 100
}
data.nameとするだけで太郎という文字を得ることができる。
※evalの後に鍵括弧を忘れると・・・こちらのサイト参照

  • json2.jsによるJSONファイル取得
evalを使うとjavascript文として実行されてしまうので、セキュリティ上問題がある。
別の方法として、json2.jsを使うやり方もある。
/*JSONファイル➡javascriptオブジェクト*/
var sample ='{"x":1,"y":2}';
var data = JSON.parse(sample);
alert(data.x); //<-1と表示される

/*javascriptオブジェクト➡JSONファイル*/
var data = {};
data.x = 1;
data.y = 3;
var sample =JSON.stringify(data);
alert(sample); //<-{"x":1,"y":3}と表示される。


  • 複数階層のjsonファイルへのアクセス
var data = {
name: {"father":"太郎","mother":"花子"},
sumage: 100
}
のようなデータ構造だった場合に、花子にアクセスするには、
data.name.motherやdata["name"]["mother"]で良い。

  • jsonファイル形式のプロパティと値を配列に格納する。
var text = {
     property1: 'value1',
     property2: 'value2',
     property3: 'value3'
};
var properties = [];
var values = [];
for (var property in text) {
   properties.push(property); //プロパティ値
   values.push(text[property]); //値
}

  • Jsonファイルのプロパティの長さを取る
配列ではないので、lengthでは取れない。
以下のような方法で取得可能。
/*例1*/
var property;
var count = 0;
for(property in JSONObject) {
  count++;
}
alert(count);
/*例2*/
alert(Object.keys(JSONObject).length);

  • Jsonファイルからパースしたオブジェクトに該当のプロパティが存在するか調べる。
if("property名" in obj) {
   console.log("該当プロパティ有");
}
最終更新:2015年02月11日 12:22