json 从Coindesk API而不是JavaScript对象获取[Object]

bmvo0sr5  于 11个月前  发布在  Java
关注(0)|答案(1)|浏览(71)

我正在使用Nextjs,并从Coindesk的API获取比特币的当前价格:
第一个月
我在Home组件中获取了数据,在这个组件中,我得到了正确的json数据。我将此数据作为prop发送到Prices组件,但它在此组件中没有正确记录。axios是否有问题?
下一篇:bpi: { USD: {...}, GBP: {...}, EUR: {...} }
我得到了这个:bpi: { USD: [Object], GBP: [Object], EUR: [Object] }
Home.js

import Layout from "../components/Layout"
import Prices from "../components/Prices"
import axios from "axios"

const Home = (props) => {
  return (
    <Layout>
      <div>
        <h1>Welcome to Bitzprice</h1>
        <Prices bpiData={props.bpiData} />
      </div>
    </Layout>
  )
}

Home.getInitialProps = async function () {
  const res = await axios.get(
    "https://api.coindesk.com/v1/bpi/currentprice.json"
  ) 
  const data = res.data
  console.log("DATA=>", data)
  return {
    bpiData: data,
  }
}

export default Home

字符串

价格.js

class Prices extends React.Component {
  state = {
    currency: "USD",
  }

  render() {
    console.log("PROPS=>", this.props)
    return (
      <div>
        ....
      </div>
    )
  }
}

export default Prices

DATA=> {
    time: {
      updated: 'Jul 26, 2020 10:29:00 UTC',
      updatedISO: '2020-07-26T10:29:00+00:00',
      updateduk: 'Jul 26, 2020 at 11:29 BST'
    },
    disclaimer: 'This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org',
    chartName: 'Bitcoin',
    bpi: {
      USD: {
        code: 'USD',
        symbol: '&#36;',
        rate: '9,983.2870',
        description: 'United States Dollar',
        rate_float: 9983.287
      },
      GBP: {
        code: 'GBP',
        symbol: '&pound;',
        rate: '7,804.6243',
        description: 'British Pound Sterling',
        rate_float: 7804.6243
      },
      EUR: {
        code: 'EUR',
        symbol: '&euro;',
        rate: '8,564.9015',
        description: 'Euro',
        rate_float: 8564.9015
      }
    }
  }

PROPS=> {
  bpiData: {
    time: {
      updated: 'Jul 26, 2020 10:29:00 UTC',
      updatedISO: '2020-07-26T10:29:00+00:00',
      updateduk: 'Jul 26, 2020 at 11:29 BST'
    },
    disclaimer: 'This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org',
    chartName: 'Bitcoin',
    bpi: { USD: [Object], GBP: [Object], EUR: [Object] }
  }
}

xytpbqjk

xytpbqjk1#

数据可能是正确的,[Object]只是一个避免显示复杂嵌套对象的快捷方式。如果您执行console.log("DATA=>", JSON.stringify(data)),您将获得完整的数据。

相关问题