我需要從下面的 JSON 訪問特定日期的導航。例如:data[date="20-04-2022"].nav 如何在 Google Apps 腳本中執行此操作?標準 JSON 表示法不起作用。
{
"meta":{
"fund_house":"Mutual Fund",
"scheme_type":"Open Ended Schemes",
},
"data":[
{
"date":"22-04-2022",
"nav":"21.64000"
},
{
"date":"21-04-2022",
"nav":"21.69000"
},
{
"date":"20-04-2022",
"nav":"21.53000"
}
],
"status":"SUCCESS"
}
uj5u.com熱心網友回復:
在您的情況下,我認為需要"date": "20-04-2022"從data. 那么,下面的示例腳本怎么樣?
示例腳本:
const obj = {
"meta": {
"fund_house": "Mutual Fund",
"scheme_type": "Open Ended Schemes",
},
"data": [
{
"date": "22-04-2022",
"nav": "21.64000"
},
{
"date": "21-04-2022",
"nav": "21.69000"
},
{
"date": "20-04-2022",
"nav": "21.53000"
}
],
"status": "SUCCESS"
};
const search = "20-04-2022";
const res = obj.data.find(({ date }) => date == search);
const value = res && res.nav;
console.log(value) // 21.53000
例如,如果始終找到搜索值,則可以使用以下腳本。
const res2 = obj.data.find(({ date }) => date == search).nav;
參考:
- 尋找()
添加1:
從您的以下回復中,
這看起來像標準的 java 腳本。不適用于谷歌應用腳??本(script.google.com/home)。獲取此行的語法錯誤: const res = obj.data.find(({ date }) => date == search);
我擔心您沒有啟用 V8 運行時。Ref如果你不能使用 V8 運行時,下面的示例腳本怎么樣?
示例腳本:
var obj = {
"meta": {
"fund_house": "Mutual Fund",
"scheme_type": "Open Ended Schemes",
},
"data": [
{
"date": "22-04-2022",
"nav": "21.64000"
},
{
"date": "21-04-2022",
"nav": "21.69000"
},
{
"date": "20-04-2022",
"nav": "21.53000"
}
],
"status": "SUCCESS"
};
var search = "20-04-2022";
var res = obj.data.filter(function (e) { return e.date == search })[0];
var value = res && res.nav;
console.log(value) // 21.53000
添加2:
從您的以下回復中,
這看起來像標準的 java 腳本。不適用于谷歌應用腳??本(script.google.com/home)。獲取此行的語法錯誤: const res = obj.data.find(({ date }) => date == search);
我正在嘗試撰寫一個谷歌應用程式腳本來從 url 獲取資料。但谷歌似乎有自己的方式來處理我無法弄清楚的 JSON 資料。developer.google.com/apps-script/guides/services/…
我了解您的實際目標是使用 Web 應用程式檢索值。如果我理解你的實際目標,那么下面的示例腳本怎么樣?
1. 示例腳本:
請將以下腳本復制并粘貼到腳本編輯器并保存腳本。
function doGet(e) {
var search = e.parameter.search;
var obj = {
"meta": {
"fund_house": "Mutual Fund",
"scheme_type": "Open Ended Schemes",
},
"data": [
{
"date": "22-04-2022",
"nav": "21.64000"
},
{
"date": "21-04-2022",
"nav": "21.69000"
},
{
"date": "20-04-2022",
"nav": "21.53000"
}
],
"status": "SUCCESS"
};
var res = obj.data.filter(function (e) { return e.date == search })[0];
var value = res && res.nav;
return ContentService.createTextOutput(value);
}
- 我認為這個示例腳本可以與 V8 運行時一起使用,也可以不與 V8 運行時一起使用。
2. 部署 Web 應用程式。
在這種情況下,請查看官方檔案。請如下設定。
Execute as: MeAnyone with Google account: Anyone
在這種情況下,它假設您正在使用新的 IDE。請注意這一點。
3. 測驗。
https://script.google.com/macros/s/{deploymentId}/exec?search=20-04-2022請像使用瀏覽器一樣訪問 URL 。由此,回傳結果值。`
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/463789.html
