使用 Google 表格中的 flatMap() 解析 JSON

huangapple go评论140阅读模式
英文:

Parse JSON using flatMap() in Google Sheet

问题

以下是您要翻译的部分:

我在Google表格的单元格中有以下的JSON结构:

[{"value":"example1@example.com","isPrimary":true},{"value":"example2@example.com","isPrimary":false}]

我想要实现的是将所有的值和isPrimary标志分开放在不同的列中,即:

example1@example.com | true | example2@example.com | false

使用以下Google Apps Script 没有生效:

const SAMPLE = value => [JSON.parse(value).result.flatMap((...))];
英文:

I have the following json structure in cells in a Google Sheet:

[{"value":"example1@example.com","isPrimary":true},{"value":"example2@example.com","isPrimary":false}]

What I want to achieve is that I have all values and isPrimary flags in separate columns, i.e.:

example1@example.com | true | example2@example.com | false

Google Apps Script using the following did not work:

const SAMPLE = value => [JSON.parse(value).result.flatMap((...))];

答案1

得分: 1

根据提供的信息,我看到您正在使用自定义函数。在您的应用脚本文件中,输入以下内容并保存更改:

const SAMPLE = val => [JSON.parse(val).flatMap(({value, isPrimary}) => [value, isPrimary])];

在您的表格中输入以下公式(将A1更改为包含JSON数据的单元格):

=sample(A1)

这是结果的示例:使用 Google 表格中的 flatMap() 解析 JSON

英文:

Based on the information provided, I see you're using a custom function. In your Apps Script file enter the following and save changes:

const SAMPLE = val => [JSON.parse(val).flatMap(({value, isPrimary}) => [value, isPrimary])];

In your sheet enter the following formula (change A1 to the cell where you have the JSON data):


=sample(A1)

Here is an example of the result:
使用 Google 表格中的 flatMap() 解析 JSON

huangapple
  • 本文由 发表于 2023年3月7日 20:40:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/75662098.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定