gpt4 book ai didi

javascript - 需要在 JSON 格式的 API 输出中搜索值并打印整个数组内容

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:20 24 4
gpt4 key购买 nike

我有 googlesheets 函数,可以解析 json 并导入到工作表中,您可以在 ImportJson 文件中找到该函数的代码。

function IMPORTJSON(url,xpath){

try{
// /rates/EUR
var res = UrlFetchApp.fetch(url);
var content = res.getContentText();
var json = JSON.parse(content);

var patharray = xpath.split("/");
//Logger.log(patharray);

for(var i=0;i<patharray.length;i++){
json = json[patharray[i]];
}

//Logger.log(typeof(json));

if(typeof(json) === "undefined"){
return "Node Not Available";
} else if(typeof(json) === "object"){
var tempArr = [];

for(var obj in json){
tempArr.push([obj,json[obj]]);
}
return tempArr;
} else if(typeof(json) !== "object") {
return json;
}
}
catch(err){
return "Error getting data";
}

}

这些功能非常简单且不言自明。披露我从这里得到了这个功能。 “https://www.youtube.com/watch?v=EXKhVQU37WM

我有一些此函数无法满足的附加要求。需要在 JSON 格式的 API 输出中搜索值并打印整个数组内容。

例如,我有一个 JSON 输出,如下所示。

{
"symbol" : "AAPL",
"historicalDCF" : [ {
"date" : "2019-03-30",
"Stock Price" : 190.5064,
"DCF" : 199.51439324614452
}, {
"date" : "2018-12-29",
"Stock Price" : 156.4638,
"DCF" : 165.25974241335186
}, {
"date" : "2018-09-29",
"Stock Price" : 224.6375,
"DCF" : 233.0488839004929
}, {
"date" : "2018-06-30",
"Stock Price" : 184.3734,
"DCF" : 192.36145120758877
}, {
"date" : "2018-03-31",
"Stock Price" : 163.5502,
"DCF" : 172.0839412239145
}, {
"date" : "2017-12-30",
"Stock Price" : 168.339,
"DCF" : 178.05212237708827
}, {
"date" : "2017-09-30",
"Stock Price" : 149.7705,
"DCF" : 160.23613044781487
}, {
"date" : "2017-07-01",
"Stock Price" : 139.1847,
"DCF" : 150.3852802404117
}, {
"date" : "2017-04-01",
"Stock Price" : 138.8057,
"DCF" : 148.7456306248566
}, {
"date" : "2016-12-31",
"Stock Price" : 111.7097,
"DCF" : 120.02897160465633
}, {
"date" : "2016-09-24",
"Stock Price" : 108.0101,
"DCF" : 116.70616209306208
}
]
}

您还可以在此链接“https://financialmodelingprep.com/api/v3/company/historical-discounted-cash-flow/AAPL?period=quarter”上查看此 API 的实时版本

要获取“2019-03-30”的 DCF 值,我可以简单地使用如下函数:

=IMPORTJSON("https://financialmodelingprep.com/api/v3/company/historical-discounted-cash-flow/AAPL?period=quarter","historicalDCF/0/DCF")

如果我需要搜索日期并获取股票价格,该怎么办?例如,我需要获取该日期“2017-09-30”的股票价格和 DCF 的值。在不知道数组位置的情况下我该如何做到这一点?

因此,为此我需要帮助,通过创建新函数或修改现有函数来获得此功能。

非常感谢您的帮助,并提前感谢所有的专家。

最佳答案

json.historicalDCF.filter((el) => el.date === "2017-07-01") 将返回与该日期匹配的对象。

您可以获得如下返回:


function findByDate(dateParam) {
return json.historicalDCF.filter((el) => el.date === dateParam)

}

var theInfoIWantVariable = findByDate("2017-1-1-make-sure-this-is-a-string")

关于javascript - 需要在 JSON 格式的 API 输出中搜索值并打印整个数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59762379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com