我在编写查询时遇到问题,要从json文件中提取数组中的表: 问题是如何获取数组“数据包”及其数组内容的信息,然后将它们全部放在普通的sql表中。
有一个难题是“CrashNotification”和“CrashMaxModuleAccelerations”,我不知道如何定义和使用它们。
该文件如下所示:
{ "imei": { "imei": "351631044527130F", "imeiNotEncoded":
"351631044527130"
},
"dataPackets": [ [ "CrashNotification", { "version": 1, "id": 28 } ], [
"CrashMaxModuleAccelerations", { "version": 1, "module": [ -1243, -626,
14048 ] } ] ]}
我尝试使用Get数组元素方法和其他方法,但我永远无法访问第二级数组,如“dataPackets”的“CrashNotification”元素或“CrashMaxModuleAccelerations”数组的“模块”元素dataPackets”。
我也在这里(Select the first element in a JSON array in Microsoft stream analytics query)看了它并没有用。 我将不胜感激任何帮助:)
答案 0 :(得分:1)
根据您的架构,这是一个查询示例,它将提取包含以下列的表:emei,crashNotification_version,crashNotification_id
WITH Datapackets AS
(
SELECT imei.imei as imei,
GetArrayElement(Datapackets, 0) as CrashNotification
FROM input
)
SELECT
imei,
GetRecordPropertyValue (GetArrayElement(CrashNotification, 1), 'version') as crashNotification_version,
GetRecordPropertyValue (GetArrayElement(CrashNotification, 1), 'id') as crashNotification_id
FROM Datapackets
如果您有任何进一步的问题,请与我们联系。
谢谢,
JS(Azure流分析)
答案 1 :(得分:0)