簡體   English   中英

我如何解析這個復雜的json nodejs

[英]how can i parse this complex json nodejs

我正在嘗試解析json

    request(requestOptions,(err,res,body)=>{

      for(var i in body){
        console.log(body.data[0].quote.USD.price)
      }

  })

而json就像

{ status: {something},
  data: [{
          id:1,
     name:'Bitcoin',
     symbol:'BTC',
     slug:'bitcoin',
     circulating_supply:17400325,
     total_supply:17400325,
     max_supply:21000000,
     date_added:'2013-04-28T00:00:00.000Z',
     num_market_pairs:6618,
     tags:[
        Array
     ],
     cmc_rank:1,
     last_updated:'2018-11-30T11:00:28.000Z',
     quote:[
        Object
     ]
        }]
}

引用對象是:

{ USD:
{ price: 4071.55349237,
 volume_24h: 5966638087.9657,
 percent_change_1h: -3.18515,
 percent_change_24h: -6.66359,
 percent_change_7d: -5.74611,
 market_cap: 70846354022.12302,
 last_updated: '2018-11-30T11:03:22.000Z' } }

“我提到了兩個json對象,另一個是上述json的副本”。

{ status:{ },
   data:[ ]
}

我運行上面的代碼,它給了我這個輸出:

1個比特幣BTC 4030.51947765 1個比特幣BTC 4030.51947765

請幫助我如何獲取對象的所有“ ID”,“名稱”,“符號”,“價格”,並將其保存到一個數組中。

只需將其映射:

https://stackblitz.com/edit/js-c1fwsf

const req = { 
  data: [
    {
     id:1,
     name:'Bitcoin',
     symbol:'BTC',
     slug:'bitcoin',
     circulating_supply:17400325,
     total_supply:17400325,
     max_supply:21000000,
     date_added:'2013-04-28T00:00:00.000Z',
     num_market_pairs:6618,
     cmc_rank:1,
     last_updated:'2018-11-30T11:00:28.000Z',
     quote:[
        { 
          USD:
          { 
            price: 4071.55349237,
            volume_24h: 5966638087.9657,
            percent_change_1h: -3.18515,
            percent_change_24h: -6.66359,
            percent_change_7d: -5.74611,
            market_cap: 70846354022.12302,
            last_updated: '2018-11-30T11:03:22.000Z' 
          } 
        }
     ],
    },
     {
     id:2,
     name:'Litecoin',
     symbol:'LTC',
     slug:'litecoin',
     circulating_supply:17400325,
     total_supply:17400325,
     max_supply:21000000,
     date_added:'2013-04-28T00:00:00.000Z',
     num_market_pairs:6618,
     cmc_rank:1,
     last_updated:'2018-11-30T11:00:28.000Z',
     quote:[
        { 
  USD:
  { 
    price: 221.55349237,
    volume_24h: 5966638087.9657,
    percent_change_1h: -3.18515,
    percent_change_24h: -6.66359,
    percent_change_7d: -5.74611,
    market_cap: 70846354022.12302,
    last_updated: '2018-11-30T11:03:22.000Z' 
  } 
}
     ]
  }]
}

const res = req.data.map(x => ({
  name: x.name,
  id: x.id,
  symbol: x.symbol,
  price: x.quote[0].USD.price,
}))

console.log(res)

看到!

試試這個

let mydata = { status: "something",
      data: [{
              id:1,
         name:'Bitcoin',
         symbol:'BTC',
         slug:'bitcoin',
         circulating_supply:17400325,
         total_supply:17400325,
         max_supply:21000000,
         date_added:'2013-04-28T00:00:00.000Z',
         num_market_pairs:6618,
         tags:[
            "Something"
         ],
         cmc_rank:1,
         last_updated:'2018-11-30T11:00:28.000Z',
         quote:
            { USD:
                { price: 4071.55349237,
                 volume_24h: 5966638087.9657,
                 percent_change_1h: -3.18515,
                 percent_change_24h: -6.66359,
                 percent_change_7d: -5.74611,
                 market_cap: 70846354022.12302,
                 last_updated: '2018-11-30T11:03:22.000Z' } }

            }]
    }
let myArray = []
mydata.data.map((o)=>{
    const { id, name, symbol } = o
    myArray.push({
        id,
        name,
        symbol,
        price : o.quote.USD.price
    })
})
console.log(myArray)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM