Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 正在分析逻辑应用程序参数函数中的服务总线队列消息_Json_Xml_Azure Servicebus Queues_Azure Logic Apps - Fatal编程技术网

Json 正在分析逻辑应用程序参数函数中的服务总线队列消息

Json 正在分析逻辑应用程序参数函数中的服务总线队列消息,json,xml,azure-servicebus-queues,azure-logic-apps,Json,Xml,Azure Servicebus Queues,Azure Logic Apps,当我尝试使用触发我的逻辑应用程序的Service Bus消息中的数据时,我从SharePoint Get Item操作收到错误(内部xml省略): 无法处理第“1”行和第“1641”列的“Get_items”输入中的模板语言表达式:“模板语言函数”json“参数无效。提供的值“ ... 无法分析“”:“分析值时遇到意外字符:。路径“”,第0行,位置0' 解码后的消息xml看起来还可以,甚至在错误消息中引用 接收到的队列消息正文似乎正常-只有ContentType为空: (内容数据被截断) } S

当我尝试使用触发我的逻辑应用程序的Service Bus消息中的数据时,我从SharePoint Get Item操作收到错误(内部xml省略):

无法处理第“1”行和第“1641”列的“Get_items”输入中的模板语言表达式:“模板语言函数”json“参数无效。提供的值“

...
无法分析“
”:“分析值时遇到意外字符:。路径“”,第0行,位置0'

解码后的消息xml看起来还可以,甚至在错误消息中引用

接收到的队列消息正文似乎正常-只有ContentType为空: (内容数据被截断)

}

SharePoint Get Item OData筛选器的分析函数如下所示:

@{json(base64ToString(triggerBody().ContentData)).Projektaufgabe.id}
我已经尝试将解码和强制转换分离到字符串:

@{json(string(decodeBase64(triggerBody().ContentData))).Projektaufgabe.id}

由于解码消息似乎是一个问题,我认为从服务总线队列接收json消息而不是xml不会有多大帮助。

因此,从我所看到的情况来看,您正在尝试将xml转换为json。你们已经非常接近了——唯一的问题是@json()也希望如此

  • 有效JSON对象的
    字符串
  • 要转换为JSON的
    应用程序/xml
    对象
  • 在这里,@base64toString()正在转换为字符串,但您确实需要让@json()知道这是#2而不是#1,因此将表达式更改为此应该可以:

    @{json(xml(base64toBinary(triggerBody()[
    contentdata
    ]))[
    foo
    ]}


    让我知道

    我试过了,但它仍然会在解码字符串开始处的BOM上抛出一个可能的抖动。因此,它没有将xml字符串解析为json,而是抱怨无法将字符串解析为xml。我决定咬紧牙关,从一开始就向队列发送一个本机json字符串。我会回来告诉你结果如何。你能给我一个base64编码字符串的完整版本吗?Xml应该处理BOM表。如果你愿意,你可以发电子邮件——jehollan[在]Microsoft.com我知道。将base64toString更改为base64toBinary,这将保留XML应该处理的BOM使用
    base64toBinary()
    解决了我的问题-非常感谢,伙计!
    @{json(string(decodeBase64(triggerBody().ContentData))).Projektaufgabe.id}