Power 自动解析 JSON 数组

Powerautomate Parsing JSON Array

我在这里看到了 JSON 数组问题,但我还是有点迷茫,所以需要一些额外的帮助。

设置如下: 我的 Flow 在我的数据库上调用了一个存储过程,那个存储过程 returns 这个 JSON:

{
  "ResultSets": {
    "Table1": [
      {
        "OrderID": 9518338,
        "BasketID": 9518338,
        "RefID": 65178176,
        "SiteConfigID": 237
      }
    ]
  },
  "OutputParameters": {}
}

然后我使用 PARSE JSON 操作来获得看起来相同的结果,但现在我被告知它已被解析并且我可以调用变量。

问题是当我尝试调用 SiteConfigID 时,我得到“您选择的输出在一个集合中,需要循环访问才能访问。此操作不能在 foreach 中。”

经过一些研究,我知道这里发生了什么。 Table1 是一个数组,我需要告诉 PowerAutomate 只获取该数组的第一条记录,以便它知道它只处理一条记录而不是整个数组。很公平。因此,我启动了一个“Return Values to Virtual Power Agents”操作,只是为了查看我的输出。我知道我应该在这里使用 'first' 表达式或 'get [0] from array expression,但我似乎无法使它们起作用。以下是我尝试过的方法和遇到的错误:

尝试过:

first(body('Parse-Sproc')?['Table1/SiteConfigID']) 
Got: InvalidTemplate. Unable to process template language expressions in action 'Return_value(s)_to_Power_Virtual_Agents' inputs at line '0' and column '0': 'The template language function 'first' expects its parameter be an array or a string. The provided value is of type 'Null'. Please see https://aka.ms/logicexpressions#first for usage details.'.

也尝试过:

body('Parse-Sproc')?['Table1/SiteconfigID']
which just returns a null valued variable

终于试过了

outputs('Parse-Sproc')?['Table1']?['value'][0]?['SiteConfigID']
Which STILL gives me a null-valued variable. It's the worst. 
In that last expression, I also switched the variable type in the return to pva action to a string instead of a number, no dice. 
Also, changed 'outputs' in that expression for 'body' .. also no dice

这是设置的屏幕截图:

明确一点:我正在寻找的最终结果是系统将 return“SiteConfigID”作为字符串或整数,以便我可以将其通过管道传输到虚拟代理中。

我相信这就是您需要的表达式...

body('Parse-Sproc')?['ResultSets']['Table1'][0]?['SiteConfigID']

你可以看到我只是向下遍历对象并通过数组来获取值。

当然,我没有您的确切流程,但如果我使用您的 JSON 并将其加载到 Parse JSON 步骤以获取架构,我就能得到结果。不过,我确实得到了一个不同的模式,所以看看它是否直接翻译会很有趣。