在Azure Logic应用中解析具有多行相同JSON代码的文件

时间:2019-01-15 14:49:13

标签: json azure azure-sql-database azure-logic-apps

在Azure逻辑应用程序中,我正在使用JSON代码解析文件,并将内容插入SQL DB中。当我的文件只有一行代码时,这很好用。为了最大程度地减少文件数量,我可以在一个文件中添加多行。行数不是固定的,因此可能是1行或最多50行。

我试图找到一种简单的方法来使“ For Each”逻辑完成任务,但是我不太清楚该怎么做。

这是其中一个文件内容的示例:

{
    "Real01": 200.1999969482422,
    "DINT01": 4500,
    "String01": "Some_text:  1435 2",
    "Bit01": false
}
{
    "Real01": 700.699951171875,
    "DINT01": 4505,
    "String01": "Some_text:  1435 2",
    "Bit01": false
}
{
    "Real01": 1201.1998291015625,
    "DINT01": 4510,
    "String01": "Some_text:  1435 2",
    "Bit01": false
}
{
    "Real01": 1701.69970703125,
    "DINT01": 4515,
    "String01": "Some_text:  1435 2",
    "Bit01": false
}
{
    "Real01": 2202.19970703125,
    "DINT01": 4520,
    "String01": "Some_text:  1435 2",
    "Bit01": false
}
{
    "Real01": 2702.7001953125,
    "DINT01": 4525,
    "String01": "Some_text:  1436 2",
    "Bit01": true
}

当我解析文件时,仅处理第一个值(在第一个{}之间)并将其插入数据库。如果有人可以帮助将所有6行插入数据库,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您看到的是预期的行为,因为“问题”中的JSON无效。

不允许使用多个顶级对象 {}。只能使用1个对象或数组[]。

第一步是联系此输出的创建者,并让他们更正其过程以发出有效的信息。

如果他们无法或不愿意更正其输出,那么下一步就是通知您的管理人员,这对您,您的应用程序或LogicApps来说都不是问题。发件人产生无效的JSON。

然后,您需要通过使该数组至少为阵列来自己解决问题。

示例:[{},{},{}]

请注意对象之间的方括号和逗号。