Parse JSON 将数据字符串导入两列

Parse JSON import data string into two columns

我正在尝试将以下 JSON 导入到 Google 工作表中,并将结果分成两列。数据为Coingecko币价数据

https://api.coingecko.com/api/v3/coins/invictus/market_chart?vs_currency=usd&days=30&interval=daily

JSON returns UNIX 时间戳数据和价格格式如下:

"prices":[timestamp , price],[timestamp , price]....

我可以使用 https://blog.fastfedora.com/projects/import-json 中的代码导入 JSON,如下所示:=ImportJSON("https://api.coingecko.com/api/v3/coins/invictus/market_chart?vs_currency=usd&days=30&interval=daily", "/prices", "noInherit,noTruncate", doNotDelete!$A)

然而,它 returns 单元格 A:2 中的数据是一长串。例如:

1638144000000,746.6771503601128,1638230400000,790.8738166468181,1638316800000,813.0212755328346,1638403200000,747.1829923418416,1638489600000,603.2418788487082,1638576000000,527.9869145332356,1638662400000,457.35694186735213,1638748800000,459.1020634102568,1638835200000,379.45955893531516,1638921600000,367.4285592864082,1639008000000,332.6569958807504,1639094400000,360.31721655542077,1639180800000,353.72371970970227,1639267200000,311.1900754529333,1639353600000,304.50307298537416,1639440000000,245.09538112807542,1639526400000,236.7967986455728,1639612800000,256.7026205778511,1639699200000,258.6393225791494,1639785600000,267.78476662611047,1639872000000,286.931173745379,1639958400000,307.5668050495342,1640044800000,326.8786486489706,1640131200000,378.46907838034076,1640217600000,398.40479671686626,1640304000000,366.45154529552616,1640390400000,316.05924359618723,1640476800000,329.5910997574541,1640563200000,305.52573964071496,1640649600000,280.05521099343133,1640688200000,265.71741103257415

我需要一些帮助,将此数据解析为 2 列,A 列是 UNIX 时间戳,B 列是价格

coingecko json 的简单解析方法(注意请求数量有限)

function myFunction(){
  url = 'https://api.coingecko.com/api/v3/coins/invictus/market_chart?vs_currency=usd&days=30&interval=daily'
  var json = JSON.parse(UrlFetchApp.fetch(url).getContentText())
  var data = json.prices
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  sh.getRange(2,1,data.length,data[0].length).setValues(data)
}

请参阅下面的答案,以及我包含市值数据的最终解决方案。

  url = 'https://api.coingecko.com/api/v3/coins/invictus/market_chart?vs_currency=usd&days=30&interval=daily'
  var json = JSON.parse(UrlFetchApp.fetch(url).getContentText())
  var data = json.prices
  var data2 = json.market_caps
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ChartData')
  sh.getRange(2,1,data.length,data[0].length).setValues(data)
  sh.getRange(2,3,data2.length,data2[0].length).setValues(data2)
}```