gpt4 book ai didi

azure - ADF 将字符串转换为 Json 对象

转载 作者:行者123 更新时间:2023-12-03 06:08:14 26 4
gpt4 key购买 nike

我有一个父管道 (A) 调用子管道 (B)通过使用执行管道事件。Pipeline B 创建 Web 请求并以这种形式返回数据

"varOutputJSon": [
"[{\"ID\":12356958,\"ClientId\":56565989,\"ClientName\":\"Client Name\"}]

(varOutputJSon是管道返回变量)

我需要的是在管道A中处理它,这样我就得到一个对象,这样我就可以分别获取每个字段类似的东西

varObj.ID - to get ID
or
varObj.ClientName - to get the Client Name as a field.

非常感谢任何帮助。我的想法是继续用简单的 '"' 替换 '\"' ,然后使用 @json( )功能..但我还没能让它工作。我的结果仍然是一个字符串,只是没有 '\"'

最佳答案

在 ADF 中,默认情况下,在显示值时,将添加“\”作为字符串中“'的转义字符。

这不会影响字符串的值,并且 ADF 将是相同的字符串。例如,这里我检查示例字符串 "[{"ID":12356958,"ClientId":56565989,"ClientName":"Client Name"}]"长度并存储在整数变量中具有以下表达式。

@length('[{"ID":12356958,"ClientId":56565989,"ClientName":"Client Name"}]')

可以看到上面字符串的长度是64。

enter image description here

然后我将相同的字符串存储在一个字符串变量中,该变量将像这样显示,并带有 " 的转义字符 /

enter image description here

现在,我正在存储上述变量的长度@length(variables('str_var')),您可以看到它与上面相同。

enter image description here

因此,它不会采用 ADF 中的 \ 值。这就是为什么当您尝试替换时它会给出相同的字符串,因为字符串中没有 /"

要获取 JSON 数组,请直接对上述值使用 @json() ,它将给出所需的结果。

子管道返回 json 字符串:

enter image description here

父管道:

@json(activity('Execute Pipeline1').output.pipelineReturnValue.varOutputJSon)

enter image description here

结果 JSON 数组在数组变量中:

enter image description here

关于azure - ADF 将字符串转换为 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77084852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com