Json 正在分析逻辑应用程序参数函数中的服务总线队列消息
当我尝试使用触发我的逻辑应用程序的Service Bus消息中的数据时,我从SharePoint Get Item操作收到错误(内部xml省略): 无法处理第“1”行和第“1641”列的“Get_items”输入中的模板语言表达式:“模板语言函数”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
...
无法分析“
”:“分析值时遇到意外字符:。路径“”,第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()也希望如此
字符串
应用程序/xml
对象@{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}