问题描述
我从power automat中以JSON格式获取文本。 JSON如下:
{“ PurchaSEOrderNumber”:“ PO00003871”,“ LineNumber”:1,“ OrderedPurchaseQuantity”:10}
我尝试将其绑定为如下所示的集合
ClearCollect(_purchlinesData,MatchAll(GetPurchLineByPurchId.Run(_selectedPurcOrder.'Purchase order',_token.value).value,"\{""ItemNumber"":""(?<ItemNumber>[^""]*)"",""PurchaSEOrderNumber"":""(?<PurchaSEOrderNumber>[^""]*),""OrderedPurchaseQuantity"":""(?<OrderedPurchaseQuantity>[^""]*)""\}"))
但是它不起作用。但是,如果我删除“ OrderedPurchaseQuantity”的整数值,它将起作用。
如何使用整数变量解析此JSON?
解决方法
如果流中的答案将始终具有此顺序的属性“ PurchaseOrderNumber”,“ LineNumber”和“ OrderedPurchaseQuantity”,那么如果要使用正则表达式进行解析,则需要以相同的顺序进行设置这个答案:
ClearCollect(_purchlinesData,Match(
GetPurchLineByPurchId.Run(_selectedPurcOrder.'Purchase order',_token.value).value,"\{""PurchaseOrderNumber"":""(?<poNumber>[^""]*)"",""LineNumber"":(?<lineNumber>\d+),""OrderedPurchaseQuantity"":(?<purchaseQuantity>\d+)"))
,
由于OrderedPurchaseQuantity
是一个整数,如果您删除MatchAll()
语句中的值周围的双引号会发生什么?
从此...
""OrderedPurchaseQuantity"":""(?<OrderedPurchaseQuantity>[^""]*)""
对此...
""OrderedPurchaseQuantity"":(?<OrderedPurchaseQuantity>[^""]*)
因为该值不会是字符串,所以我可以理解为什么MatchAll()
在这里失败。