Извлечь из проанализированного JSON с данными, отформатированными в JSON, как это? - PullRequest
1 голос
/ 27 апреля 2019

Как бы вы извлекли этот 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, отформатированных иначе, чем в моем примере выше.

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

Это1-й рабочий пример.
$ {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 голосов
/ 27 апреля 2019
 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}"

...