###前提・実現したいこと
WEB REST APIから多次元構造のJSONを取得するときに、スマートに値を取得したいのですが、どうすればよいか助言をいただきたく思います。
例として、Google Books APIから、書籍のタイトルを取り出すものとします。
以下は、「ハリーポッターと賢者の石」のデータを取得するエンドポイント。
https://www.googleapis.com/books/v1/volumes?q=isbn:9781781101513
items=>volumeInfo=>title に、日本語タイトルが記述されています。
###サンプルで記述したコード
このようなコードを書いて、取得してみました。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $.ajax({ type: 'GET', url: 'https://www.googleapis.com/books/v1/volumes?q=isbn:9781781101513', dataType: 'json', }).done(function(data){ var items = data.items; var volumeInfo = items[0].volumeInfo; $("#a").append(volumeInfo["title"]); }); </script> </head> <body> <p id="a"></p> </body> </html>
APIからJSONを取得した後、items以下のデータを変数 items に代入
itemsから、さらにvolumeInfoの値を、変数 volumeInfo に代入
volumeInfoから、titleの値を取得しています。
自分で書いていてあれですが、変数を2回回してデータを取得しているのが、ちょっと回りくどい。とはいうものの、良い書き方が思いつきません。もっと良い書き方があると思うのですが、ご教示いただければありがたく。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/23 12:33