html フォームから href を使用して API を呼び出したところ、応答として json が出力されます。これをAPIが与えるjsonと考えてください
{
"entry":
{
"id": "1",
"name": "SA"
}
}
id と name の値が必要です。具体的に値を取得し、それらの値を変数に保存するにはどうすればよいですか。また、JavaScriptを使用してhtml形式でこれを行う必要がありました。
html フォームから href を使用して API を呼び出したところ、応答として json が出力されます。これをAPIが与えるjsonと考えてください
{
"entry":
{
"id": "1",
"name": "SA"
}
}
id と name の値が必要です。具体的に値を取得し、それらの値を変数に保存するにはどうすればよいですか。また、JavaScriptを使用してhtml形式でこれを行う必要がありました。
city_id と city_name の値が必要です。具体的に値を取得し、それらの値を変数に保存するにはどうすればよいですか
JSON.parse
それを JS オブジェクトに変換して値を取得するために使用します。
var obj = JSON.parse(yourJSON);
var city_id = obj['entry']['city_id'];
var city_name = obj['entry']['city_name'];
ドキュメント:
eval() 関数または JSON パーサーのいずれかを使用すると、JSON からオブジェクトを作成し、通常どおりフィールドにアクセスできます。このチュートリアルで説明されているように、JSON パーサーはもう少し安全です。
var a;
eval('a={"entry":{"@collection_url":"http://api.storageroomapp.com/accounts/4fe004c598f46026cc000002/collections/4fe0063798f4602e2c000016","@created_at": "2012-06-21T09:12:40Z","@trash": false,"@type": "City","@updated_at": "2012-06-21T09:12:40Z","@url":"http://api.storageroomapp.com/accounts/4fe004c598f46026cc000002/collections/4fe0063798f460e2c000016/entries/4fe2e58898f4604757000006","@version": 1,"city_id": "City_001","city_name": "London"}}');
言い換えると
eval ('a={/*response object*/}')
(a) データを含むオブジェクトとして、オブジェクト表記 (a.entry) または配列 (a['entry']) のようにアクセスできます。json 解析も使用できますが、すべてのブラウザーと互換性があるわけではありません。