繁体   English   中英

如何显示来自API的特定JSON数据

[英]How to display specific JSON data from an API

我正在使用获取请求。

码:

const response = await got(`https://airapi.airly.eu/v2/measurements/installation?installationId=204`, {
        headers: {
            apikey: `API_KEY`
        },
        json: true
    });

console.log(response.body.current.values);

输出:

[ { name: 'PM1', value: 20.72 },
  { name: 'PM25', value: 32.43 },
  { name: 'PM10', value: 61.22 },
  { name: 'PRESSURE', value: 1028.46 },
  { name: 'HUMIDITY', value: 91.59 },
  { name: 'TEMPERATURE', value: 10.87 } ]

现在,我想以这种格式向用户显示它:

PM1: 20.72 µg/m3 
PM25: 32.43 µg/m3 
PM10: 61.22 µg/m3 

我的问题是:最好的方法是什么? 将来,我还想使用https://www.chunqiuyiyu.com/ervy/之类的库,因此最好以某种方式分离这些数据。 我希望我已经说清楚了:)

有很多方法可以做到这一点(无需求助于图书馆)。 单程:

 let data = [ { name: 'PM1', value: 20.72 }, { name: 'PM25', value: 32.43 }, { name: 'PM10', value: 61.22 }, { name: 'PRESSURE', value: 1028.46 }, { name: 'HUMIDITY', value: 91.59 }, { name: 'TEMPERATURE', value: 10.87 } ]; data.forEach(v => console.log(`${v.name}: ${v.value} µg/m3`)); 

看起来Envy为其数据使用了特定的结构,因此您首先需要转换现有数据:

const data = arr.map(el => ({ ...el, key: el.name }));

然后,您可以map元素,然后将它们与换行符连接起来,将它们打印到控制台。

演示:

 const arr = [{"name":"PM1","value":20.72},{"name":"PM25","value":32.43},{"name":"PM10","value":61.22},{"name":"PRESSURE","value":1028.46},{"name":"HUMIDITY","value":91.59},{"name":"TEMPERATURE","value":10.87}]; // create an envy structure from the original data using `map` const data = arr.map(el => ({ ...el, key: el.name })); // `map` over that data and return an array of strings // separated by line breaks const str = data.map(el => `${el.key}: ${el.value} µg/m3`).join('\\n'); console.log(str); 

只是你可以做喜欢

 var data = [ { name: 'PM1', value: 20.72 },
  { name: 'PM25', value: 32.43 },
  { name: 'PM10', value: 61.22 },
  { name: 'PRESSURE', value: 1028.46 },
  { name: 'HUMIDITY', value: 91.59 },
  { name: 'TEMPERATURE', value: 10.87 } ];


  $.each(data, function (i) {
   console.log(data[i].name+':'+data[i].value);
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM