Dynamics crm 如何在power应用程序中将json转换为集合
我有一个power应用程序,它使用power的流程实现自动化 我的流程是通过HTTP获取并响应JSON到power应用程序,如下所示 以下是JSON格式的文本:Dynamics crm 如何在power应用程序中将json转换为集合,dynamics-crm,powerapps,power-automate,power-platform,Dynamics Crm,Powerapps,Power Automate,Power Platform,我有一个power应用程序,它使用power的流程实现自动化 我的流程是通过HTTP获取并响应JSON到power应用程序,如下所示 以下是JSON格式的文本: {"value": "[{\"dataAreaId\":\"mv\",\"AccountNum\":\"100000\",\"Name\":\"*****L FOOD AB\"},{\&
{"value": "[{\"dataAreaId\":\"mv\",\"AccountNum\":\"100000\",\"Name\":\"*****L FOOD AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100001\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100014\",\"Name\":\"****(SEB)\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100021\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100029\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"500100\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"500210\",\"Name\":\"****\"}]"}
但是,当我尝试将此JSON转换为集合时,它的行为与列表不同
它就像一篇课文。下面是我如何尝试绑定列表的
如何从JSON创建一个集合以绑定到gallery视图?我找到了解决方案。我最终根据flow的响应创建了一个集合。 流的名称是GetVendor 流的响应如下所示:
{"value": "[{\"dataAreaId\":\"mv\",\"AccountNum\":\"100000\",\"Name\":\"*****L FOOD AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100001\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100014\",\"Name\":\"****(SEB)\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100021\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"100029\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"500100\",\"Name\":\"**** AB\"},{\"dataAreaId\":\"mv\",\"AccountNum\":\"500210\",\"Name\":\"****\"}]"}
下面的代码从此响应创建一个列表:
ClearCollect(_vendorData, MatchAll(GetVendors.Run(_token.value).value, "\{""dataAreaId"":""(?<dataAreaId>[^""]*)"",""AccountNum"":""(?<AccountNum>[^""]*)"",""Name"":""(?<Name>[^""]*)""\}"));
ClearCollect(\u vendorData,MatchAll(GetVendors.Run(\u token.value).value,“\{”“dataAreaId”“:”“(?[^”“]*)”,“AccountNum”“:”“(?[^”“]*),“Name”“:”(?[^”“]*),“\}”);
我可以将_vendorDatra集合中的accountnum和name绑定到gallery视图在我的情况下,我遇到了与您相同的问题,但无法将数据获取到_vendorData集合中,因为MatchAll regex部分无法正常工作,即使我有完全相同的场景,我也无法使其工作 我的解决方案是修改流本身,在这里我返回了
Response
,而不是Response-to-Power应用程序或流
,因此基本上我可以从Http返回完整的请求。
这也给我带来了一些问题,因为当我从示例生成模式时,我无法将流注册到powerapp,在http发送请求期间出现错误失败
解决方案是手动查看响应架构,并将所有列类型更改为以下三种类型之一,因为其他类型不受支持:string
、integer
或boolean
。对象和数组只能在顶级项上设置,但不能在子项上设置,所以如果您有我提到的三个以外的内容,请将其替换为字符串。并且任何属性都不能保留未定义的类型
基本上,我更喜欢这个解决方案,因为在powerapps本身中,您不需要进行任何转换或任何操作—只需按原样使用数据,因为它在数组中已被识别为集合,并且您已经为所有属性命名
下面是响应步骤模式示例
{
“类型”:“对象”,
“财产”:{
“不动产”:{
“类型”:“字符串”
},
“财产2”:{
“类型”:“整数”
},
“地产树”:{
“类型”:“布尔”
},
“四房地产”:{
“类型”:“数组”,
“项目”:{
“类型”:“对象”,
“财产”:{
“物业租赁1”:{
“类型”:“字符串”
},
“物业租赁1”:{
“类型”:“整数”
},
“物业租赁1”:{
“类型”:“布尔”
}
}
}