簡體   English   中英

json 過濾 javascript api

[英]json filtering javascript api

您好,當我打印不帶 id 的(jsonArray)時,json 過濾有一些問題,通常會向我打印 object,但是當我 add.id (jsonArray.id)時,它說undefined我做錯了什么?

我使用 jsonArray 獲得的jsonArray我只想打印它的“id” {id: 39497866969165, product_id: 6677529493581, title: '8', price: '181.50'}

const api_url= 'https://eu.kith.com/collections/kith-mlb-for-clarks-originals/products/ck26166616.json'
async function getID() {
const response = await fetch(api_url);
const data = await response.json();
const findsize = data.product.variants
const jsonArray = findsize.filter(function(ele){
return ele.title == "8";
});

console.log(jsonArray.id)
}
getID();

jsonArray 是數組而不是 object。 getID 是異步的 function。 它將返回 promise。 你需要打電話然后得到結果。

 const api_url = 'https://eu.kith.com/collections/kith-mlb-for-clarks-originals/products/ck26166616.json' async function getID() { const response = await fetch(api_url); const data = await response.json(); const findsize = data.product.variants const jsonArray = findsize.filter(function(ele) { return ele.title == "8"; }); const tmp_obj = { id: jsonArray[0].id, product_id: jsonArray[0].product_id, title: jsonArray[0].title, price: jsonArray[0].price } //console.log(tmp_obj) return tmp_obj } getID().then(result => console.log(result));

這是因為這里的 jsonArray 是一個列表,而不是單個 object。

首先檢查它的長度以確保在過濾器之后至少有一個 object 並通過以下方式記錄第一個元素:

if (jsonArray.length > 0) {
    console.log(jsonArray[0].id)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM