Javascript 如何从获取数据响应构造新的JSON?

Javascript 如何从获取数据响应构造新的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数据响应创建一个新的JSON

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