使用 JSON 连接器,您可以 使用命令 来转换、获取和转换 JavaScript 对象表示法 (JSON) 数据,作为链的一部分。例如,使用此连接器,您可以:
- 将 JSON 数组或对象转换为 CSV
- 将 CSV 数据转换为 JSON 数组
- 使用经过验证的模式将文本解析为 JSON。
注:多个连接器的命令会生成 JSON 输出。要将 JSON 值提取为字符串、列表或 JSON 格式
,以便在后续命令中使用 ,请使用变量转换。先决条件
要使用 JSON 连接器,我们建议您对 JSON 语法有一定的了解。
JSON 以纯文本形式存储和传输结构化数据(从单个数字到多个字符串、数组和对象)。JSON 字符串包含以下任一内容:
- 一个数组 (或列表)——或一个值列表
- 一个 对象,其中包含一个名称/值对的关联数组。
为了支持复杂的数据结构,您可以在 JSON 中嵌套数组和对象。
数组
在 JSON 中,数组用方括号 [] 括起来,其中包含以逗号分隔的值列表:
- 数字
- 用双引号
括起来的文本字符串 "" - 布尔值,
true或false - 数组用方括号
[]括起来。 - 用花括号
{}括起来的对象 -
NULL值
例如,Wdata 特征数组将是 [ "Tables", "Queries", "Chains" ]。
物件
对象用花括号 {} 包围,其中包含以逗号分隔的名称/值对列表。每对包含一个用双引号 ""括起来的字段名,后跟一个冒号 : 及其值。对象支持与数组相同的值类型和语法。例如:
{
"产品":"Wdata",
"公司":"Workiva".
"功能":[
"表",
"查询",
"链"
]
} 设置 JSON 连接器
注: 要使连接器可在您组织的链中使用, 组织安全管理员首先需要在配置中启用它。
- 从 链构建器中,单击 连接,然后单击右上角的 创建 。
- 在 连接器连接下,选择 JSON和默认的 CloudRunner。
- 在 基本信息下,输入唯一的名称和描述,以帮助识别连接器。
- 选择要与连接一起使用的环境,然后单击 保存。
- 要测试连接, 创建并运行一个链 使用 连接器的 CSV 到 JSON命令,并验证它是否返回有效输出。
疑难解答
如果连接器的 Array to CSV 命令未能生成有效输出,请检查以下潜在问题。
数组转 CSV 转换成功,但输出结果为空。
如果 Array to CSV 命令指示转换成功,但其输出没有数据,请确保其 Input File 输入包含 JSON 数组。例如,以下 JSON 将返回 而不是 关于自行车和球的详细信息:
{
"商店": {
"自行车": {
"颜色": "红色",
"价格": 19.95
},
"球": {
"颜色": "蓝色",
"价格": 21.95
}
}
[] } } 要返回有关自行车和球的详细信息,请用方括号 []将详细信息包裹起来,就像一个数组一样。例如:
{
"商店": {
"自行车": [{
"颜色": "红色",
"价格": 19.95
}],
"球": [{
"颜色": "蓝色",
"价格": 21.95
}]
}
} 未找到根数组元素路径
如果 Array to CSV 错误返回“找不到根数组元素,请检查您的路径:找不到路径”,请验证要隔离的键是否在数组中。例如,要在此 JSON 中捕获 usageUnit ,请将 JSONPath.pricingInfo[0].pricingExpression.usageUnit作为命令的Path to Root 输入:
{
"skus": [{
"skuId": "0033-4F4C-36F1",
"description": "长期存储 (us-east4)",
"category": {
"serviceDisplayName": "BigQuery",
"usageType": "OnDemand"
},
"serviceRegions": [
"us-east4"
],
"pricingInfo": [{
"summary": "",
"pricingExpression": {
"usageUnit": "GiBy.mo",
"displayQuantity": 1,
"tieredRates": [{
"startUsageAmount": 0,
"unitPrice": {
"currencyCode": "USD",
"units": "0"
}
[] }] },
"currencyConversionRate": 1,
"effectiveTime": "2019-08-18T02:30:55.193Z"
}],
"serviceProviderName": "Google"
}]
}