【问题标题】:ImportJson Funtion retrieve columns in different positionsImportJson 函数检索不同位置的列
【发布时间】:2018-09-06 16:40:17
【问题描述】:

我正在使用一个函数来获取和处理 JSON 对象并在谷歌电子表格上显示信息。工作正常。

我在查询中使用不同的过滤器在 5 张表中调用该函数。

我遇到的问题是每个页面上的属性顺序都会发生变化。 在某些电子表格中,“名称”在 A 列中,而在另一个电子表格中,在 D 列中,与其他电子表格相同。

代码使用的是多维数组,不知道能不能固定属性在数组上的位置,这样名字在每一页都会一直显示在同一列。

我正在使用的脚本: https://github.com/bradjasper/ImportJSON

[{
        "_id" : {
            "$oid" : "2342hgiug2343242gi"
        },
        "ID" : "HHT-6",
        "Link" : "SomeLink",
        "Name" : "Some Description",
        "Type" : "Request",
        "Team" : null,
        "Release" : null,
        "Stage" : "Open",
        "Level" : null,
        "Labels" : "[3244234,234234;]",
        "Versions" : null,
        "Components" : null,
        "DevelopmentSize" : null,
        "Class of Service" : "Standard",
        "Resolution" : null,
        "Location" : null,
        "Main Category" : null,
        "First Category" : null,
        "Second Category" : null,
        "Key" : "HHT",
        "Created" : "2016-02-12"
    }
]

【问题讨论】:

  • 如果您可以包含 JSON 数据的样本将会非常有帮助,我猜它使用对象而不是数组来表示数据,但需要查看它来确认。
  • 为了了解您的情况,您能否提供一个使用它的示例电子表格?当然,请删除您的个人信息。
  • 您可以扩充该函数以采用可选参数,即包含要输出的所需标头的范围(以及所需的顺序)。

标签: javascript arrays json multidimensional-array google-apps-script


【解决方案1】:

更新到最新版本

https://github.com/bradjasper/ImportJSON/blob/master/ImportJSON.gs

因此,要按照请求的顺序返回路径,您必须传递 'allHeaders' 选项参数。

=ImportJSON("https://jsonplaceholder.typicode.com/todos"; "/title,/invalidColumn,/completed"; "allHeaders")

观察 /invalidColumn 也会返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多