从解析的JSON中提取具有JSON格式的数据,像这样?

时间:2019-04-27 16:10:25

标签: node.js json get aws-lambda alexa-app

您如何从此JSON中获取下面显示的变量“ outputSpeech”?我认为此JSON中的警告使我无法接受。有关使用其他格式不同的其他JSON的工作示例,请参见背景。

 await getRemoteData('https://api.coinmarketcap.com/v2/listings/')
      .then((response) => {enter code here
        const data = JSON.parse(response);
        outputSpeech = `This is the name ${data[2].name} man look at that on a saturday morning.`;
      })

---------------------------
 // API LINK 

{
    "attention": "WARNING: This API is now deprecated and will be taken offline soon.  Please switch to the new CoinMarketCap API to avoid interruptions in service. (https://pro.coinmarketcap.com/migrate/)", 
    "data": [
        {
            "id": 1, 
            "name": "Bitcoin", 
            "symbol": "BTC", 
            "website_slug": "bitcoin"
        }, 
        {
            "id": 2, 
            "name": "Litecoin", 
            "symbol": "LTC", 
            "website_slug": "litecoin"
        }, 
        {
            "id": 3, 
            "name": "Namecoin", 
            "symbol": "NMC", 
            "website_slug": "namecoin"
        },  
}

这是两个工作示例,它们来自两个JSONS,格式与上面的示例不同。

-------------------------------

这是第一个工作示例。
     $ {data.BTC_BCN.last}

  await getRemoteData('https://poloniex.com/public?command=returnTicker')
      .then((response) => {
        const data = JSON.parse(response);
        outputSpeech = `This is the name ${data.BTC_BCN.last} man look at that on a saturday morning.`;
      })

这是下面的API链接。

https://poloniex.com/public?command=returnTicker

{"BTC_BCN":{"id":7,"last":"0.00000017","lowestAsk":"0.00000017","highestBid":"0.00000016","percentChange":"0.00000000","baseVolume":"5.47653442","quoteVolume":"34062281.36436343","isFrozen":"0","high24hr":"0.00000017","low24hr":"0.00000016"},"BTC_BTS":{"id":14,"last":"0.00001003","lowestAsk":"0.00001005","highestBid":"0.00001002","percentChange":"0.01827411","baseVolume":"2.53412366","quoteVolume":"252139.05854697","isFrozen":"0","high24hr":"0.00001017","low24hr":"0.00000986"},


--------------------------------

这是工作示例2。

 await getRemoteData('https://api.coinmarketcap.com/v1/ticker/')
      .then((response) => {
        const data = JSON.parse(response);
        outputSpeech = `This is the name ${data[2].name} man look at that on a saturday morning.`;
      })

这是下面的API链接。

https://api.coinmarketcap.com/v1/ticker/

[
    {
        "id": "bitcoin", 
        "name": "Bitcoin", 
        "symbol": "BTC", 
        "rank": "1", 
        "price_usd": "5260.8494713", 
        "price_btc": "1.0", 
        "24h_volume_usd": "13764287489.0", 
        "market_cap_usd": "92951055841.0", 
        "available_supply": "17668450.0", 
        "total_supply": "17668450.0", 
        "max_supply": "21000000.0", 
        "percent_change_1h": "0.14", 
        "percent_change_24h": "-0.28", 
        "percent_change_7d": "-1.42", 
        "last_updated": "1556377650"
    }, 
    {
        "id": "ethereum", 
        "name": "Ethereum", 
        "symbol": "ETH", 
        "rank": "2", 
        "price_usd": "156.835413228", 
        "price_btc": "0.02983922", 
        "24h_volume_usd": "6040899613.44", 
        "market_cap_usd": "16598483757.0", 
        "available_supply": "105833774.0", 
        "total_supply": "105833774.0", 
        "max_supply": null, 
        "percent_change_1h": "0.45", 
        "percent_change_24h": "1.04", 
        "percent_change_7d": "-9.81", 
        "last_updated": "1556377642"
    }, 
    {
        "id": "ripple", 
        "name": "XRP", 
        "symbol": "XRP", 
        "rank": "3", 
        "price_usd": "0.2965559184", 
        "price_btc": "0.00005642", 
        "24h_volume_usd": "890277280.659", 
        "market_cap_usd": "12456821485.0", 
        "available_supply": "42004966728.0", 
        "total_supply": "99991643723.0", 
        "max_supply": "100000000000", 
        "percent_change_1h": "0.21", 
        "percent_change_24h": "0.8", 
        "percent_change_7d": "-10.2", 
        "last_updated": "1556377622"
    },

1 个答案:

答案 0 :(得分:0)

 await getRemoteData('https://api.coinmarketcap.com/v2/listings/')
      .then((response) => {
        const data = JSON.parse(response);
        outputSpeech = `This is the name ${data.data[2].name} man look at that on a `enter code here`saturday morning.`;
      })

像魅力一样工作!! “ $ {data.data [2] .name}”