[英]How to construct a new JSON from a fetch data response?
我想从获取数据响应中创建一个新的 JSON。
例如,我正在获取https://api.tryroll.com/v2/tokens/和
fetch('https://api.tryroll.com/v2/tokens/').then(response => {
return response.json()
})
想使用如下数据创建一个新的 JSON:
"source": {
"address": response.contractAddress
}
我们可以使用 JS map function 从 API 响应中获取 contractAddress。
fetch ('https://api.tryroll.com/v2/tokens').then(res => {
return res.json();
}).then (data => {
const result = data.map(item => {
return {
"source": {
"address": item.contractAddress
}
}
});
console.log(result);
});
使用异步等待它会是这样的
(async () => {
const response = await fetch ('https://api.tryroll.com/v2/tokens');
const data = await response.json();
const result = data.map(item => {
return {
"source": {
"address": item.contractAddress
}
}
});
console.log(result);
})();
我认为您只需要从 fetch 中返回 promise。 我不太确定你希望你的数据结构看起来如何,但这就是我想出的。 我将地址设置为唯一名称,其值为contractAddress。
var fetchData = function () {
return fetch('https://api.tryroll.com/v2/tokens/').then(response => {
return response.json();
});
};
var myArray = {};
fetchData().then(data => {
data.forEach(element => {
console.log(element["name"]);
myArray[element["name"]] = element.contractAddress;
});
console.log(myArray)
});
当您使用 fetch 时,它会返回 promise,因此最好使用带有 await 关键字的异步 function 或使用 then /catch 块处理 promise。
const res = fetch('https://api.tryroll.com/v2/tokens/').then(response => {
return response.json()
});
res.then((data)=>{ console.log(data) })
数据将是 json 格式的响应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.