【发布时间】:2021-04-06 09:50:16
【问题描述】:
我正在尝试从该结构中提取 ErrorReasons 以及 State 和 Id
{
"id": "abcGuid",
"RegistrationStatus": {
"State": 2,
"ErrorReasons": [
1,2,3
]
},
}
我可以提取 Id、RegistrationStatus 和 State,但是我很难从 ErrorReasons 列表中获取整数列表。
我的起始提取物
@result =
EXTRACT
[id] string
,[RegistrationStatus] string
FROM @inputFileDaily
USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();
然后我拉出State,并将ErrorReasons放到自己的字段中
@pre =
SELECT JsonFunctions.JsonTuple(RegistrationStatus) ["State"] AS State,
JsonFunctions.JsonTuple(RegistrationStatus) ["ErrorReasons"] AS ErrorReasons_data
FROM @result;
@pre =
SELECT State,
JsonFunctions.JsonTuple(ErrorReasons_data).Values AS ErrorReasons_Array
FROM @pre;
@CreateJSONTuple =
SELECT State,
JsonFunctions.JsonTuple(ErrorReasons)["0"] AS ErrorReason
FROM @pre
CROSS APPLY
EXPLODE(ErrorReasons_Array) AS c(ErrorReasons);
这当然什么也得不到,因为它正在寻找字段“0”
如果我省略了 ["0"],那么它会抱怨将 sqlmap
【问题讨论】:
标签: azure azure-data-lake u-sql