我从powerautomatic得到一个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",它就起作用了。
如何使用integer变量解析此JSON?
如果来自流的答案将始终具有属性"PurchaseOrderNumber"LineNumber";以及";订单采购数量;按照这个顺序,如果你想使用正则表达式来解析这个答案,那么你需要将它们按相同的顺序排列:
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()
在这里失败的原因。