JavaScript で URL から JSON を取得する

Anika Tabassum Era 2023年10月12日
  1. jQuery を使用して URL から JSON を取得する
  2. Fetch API メソッドによる URL からの JSON
  3. JSON FromURL に XMLHttpRequest を使用する
JavaScript で URL から JSON を取得する

JSON 形式は特定の URL から取得されます。データは複数の形式にすることができ、人間とコンピューターにとって最も読みやすい形式の 1つです。

ここでは、URL から JSON を取得して JavaScript で使用する 3つの方法について説明します。

jQuery を使用して URL から JSON を取得する

通常、jQuery.getJSON(url, data, success) は、URL から JSON を取得するための署名メソッドです。この場合、URL はデータの正確な場所を保証する文字列であり、data はサーバーに送信される単なるオブジェクトです。そして、リクエストが成功した場合、ステータスは成功を介して取得されます。このプロセスの簡単なコードデモンストレーションがあります。

コードスニペット:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <script src="https://code.jquery.com/jquery-1.6.4.js"></script>
  <title>JS Bin</title>
</head>
<body>
<div class="display"></div>
  <script>

  $.getJSON('https://jsonplaceholder.typicode.com/todos/1', function(data){
    var display = `User_ID: ${data.userId}<br>
                   ID: ${data.id}<br>
                   Title: ${data.title}<br>
                   Completion_Status: ${data.completed}`
    $(".display").html(display);
  });
  </script>
</body>
</html>

出力:

jquery_for_json_url

Fetch API メソッドによる URL からの JSON

この場合、fetch メソッドはデータサーバーを割り当てるために単に URL を取得し、JSON データを確実に返します。

コードスニペット:

fetch('https://jsonplaceholder.typicode.com/todos/1')
    .then(result => result.json())
    .then((output) => {
      console.log('Output: ', output);
    })
    .catch(err => console.error(err));

出力:

fetch_api_for_json_url

JSON FromURL に XMLHttpRequest を使用する

ここでは、最初に XMLHttpRequest のインスタンスを持つ関数で URL を取得します。open メソッドを使用して初期化リクエストを準備し、後で responseType を使用してレスポンスタイプを定義します。最後に、onload メソッドがリクエストに応答し、出力をプレビューします。

コードスニペット:

var getJSON = function(url, callback) {
  var xmlhttprequest = new XMLHttpRequest();
  xmlhttprequest.open('GET', url, true);
  xmlhttprequest.responseType = 'json';

  xmlhttprequest.onload = function() {
    var status = xmlhttprequest.status;

    if (status == 200) {
      callback(null, xmlhttprequest.response);
    } else {
      callback(status, xmlhttprequest.response);
    }
  };

  xmlhttprequest.send();
};

getJSON('https://jsonplaceholder.typicode.com/todos/1', function(err, data) {
  if (err != null) {
    console.error(err);
  } else {
    var display = `User_ID: ${data.userId}
ID: ${data.id}
Title: ${data.title} 
Completion_Status: ${data.completed}`;
  }
  console.log(display);
});

出力:

xmlhttprequest

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

関連記事 - JavaScript JSON