Body.json()

Body mixin 的 json() 會拿 Response stream 並完整地讀取他。它會回傳一個能夠實現 (resolve) 把回傳的結果的 body text 解析成 JSON 型別的 Promise。

語法

response.json().then(function(data) {
  // do something with your data
});

參數

None.

回傳

一個能夠實現 (resolve) 把回傳的結果的 body text 解析成 JSON 型別的 Promise。這可以是任何能夠被 JSON 呈現的資料型別 — 物件 (object), 陣列 (array), 字串 (string), 數字 (number)...

範例

在我們的範例 fetch json example (run fetch json live) 中,我們用 constructor Request.Request (en-US) 產生一個新的請求,並且用它去取回 .json 檔案。 當成功取回 (fetch) 時,我們使用 json() 去讀取跟解析資料,然後依照我們期待的把回傳的結果物件 (resulting objects) 裡讀取到的數值存入 list 中藉以顯示我們的產品資料。

var myList = document.querySelector('ul');

var myRequest = new Request('products.json');

fetch(myRequest)
  .then(function(response) { return response.json(); })
  .then(function(data) {
    for (var i = 0; i < data.products.length; i++) {
      var listItem = document.createElement('li');
      listItem.innerHTML = '<strong>' + data.products[i].Name + '</strong> can be found in ' +
                           data.products[i].Location +
                           '. Cost: <strong>£' + data.products[i].Price + '</strong>';
      myList.appendChild(listItem);
    }
  });

規範

Specification Status Comment
Fetch
The definition of 'json()' in that specification.
Living Standard

瀏覽器相容性

No compatibility data found for api.Body.json.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

參見