Javascript 如何从获取数据响应构造新的JSON?
我想从fetch数据响应创建一个新的JSONJavascript 如何从获取数据响应构造新的JSON?,javascript,json,api,fetch,Javascript,Json,Api,Fetch,我想从fetch数据响应创建一个新的JSON fetch ('https://api.tryroll.com/v2/tokens').then(res => { return res.json(); }).then (data => { const result = data.map(item => { return { "source": { "address": item.contra
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);
});
例如,我正在取和
要使用以下数据创建新的JSON:
"source": {
"address": response.contractAddress
}
当您使用fetch时,它会返回一个承诺,因此最好使用带有wait关键字的异步函数,或者使用then/catch块处理该承诺
const res = fetch('https://api.tryroll.com/v2/tokens/').then(response => {
return response.json()
});
res.then((data)=>{ console.log(data) })
数据将是json格式的响应。我认为您只需要从fetch返回承诺。我不太确定您希望数据结构看起来如何,但这就是我想到的。我将地址设置为唯一名称,其值为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)
});
我们可以使用JS映射函数从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 Wait,则会是这样
(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);
})();
JSON.stringify
从一个对象创建JSON,因此您需要一个名为source
的对象,它有一个名为address
的对象,该对象有一个名为contractAddress
的属性,它有原始JSON中所有contractAddress
键的值?如果是这样的话,数组中的所有值不是都应该更好吗?不,它不会。。。它将是一个对象
。。。json()将json解析为一个对象。。。拿101