繁体   English   中英

解析带有变量的 JSON 返回问题

[英]Trouble Parsing JSON return with variable

我很难通过函数返回的一部分。
下面是我调用数据的代码,这也可以在这里找到: https : //codesandbox.io/s/nifty-dubinsky-kn3s3?file=/src/App.js

您将看到以 JSON 格式返回的数据,其中公司名称嵌套在 data 下。
目前,我可以使用const testData = JSON.stringify(table.data.AAPL.wacc)获取这些数据,但这并不是我想要的那样高效: const testData = JSON.stringify(table.data.<ENTER SYMBOL>.wacc)

import React, { useState } from "react";
import Axios from "axios";

const Valuations = () => {
  const [table, setTable] = useState([]);

  const response = {
    method: "get",
    url: "https://marketciapi.io/api/market_dcf/AAPL/detail/",
    headers: {
      Authorization: "Token 5ce1831cd7a3b411ded718500cb14ed2a2f5a464",
    },
  };

  Axios(response).then((response) => {
    setTable(response.data);
  });

  const testData = JSON.stringify(table.data);

  return <div>{testData}</div>;
};
export default Valuations;

// JSON Return: {"id":3,"slug":"AAPL","name":"AAPL","data":{"AAPL":{"wacc":9.41,"dcf_value":84.85,"avg_tax_rate":25.45,"cost_of_debt":2.36,"cost_of_equity":22.57,"debt_percentage":63.25,"cashflow_forecast":{"next_year":{"FCF":70367568,"NWC":-2674058,"ebit":91751958,"CAPEX":13977149,"ebit_tax_shield":68258846,"inc_depreciation":13411813},"next_2_year":{"FCF":68901308,"NWC":-5556810,"ebit":85980227,"CAPEX":15340264,"ebit_tax_shield":63964968,"inc_depreciation":14719794},"next_3_year":{"FCF":80412341,"NWC":-10890204,"ebit":94365405,"CAPEX":16836315,"ebit_tax_shield":70203119,"inc_depreciation":16155334},"next_4_year":{"FCF":84528412,"NWC":-8226164,"ebit":103568342,"CAPEX":18478268,"ebit_tax_shield":77049642,"inc_depreciation":17730875},"next_5_year":{"FCF":88793424,"NWC":-5049838,"ebit":113668792,"CAPEX":20280352,"ebit_tax_shield":84563869,"inc_depreciation":19460069},"current_year":{"FCF":101247000,"NWC":-18780000,"ebit":88400000,"CAPEX":7309000,"ebit_tax_shield":78720000,"inc_depreciation":11056000}},"equity_percentage":36.75}}}

你可以这样做:

const companySymbol = 'APPL';
JSON.stringify(table.data[companySymbol].wacc);

暂无
暂无

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

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