我正在使用 Blueprism 進行 API 呼叫。回應是一個 json 塊。我需要從中提取conversationId:
{"results":[{"group":{"queueId":"aad701ad-56db-452e-8b70-aa9abd6046c7","mediaType":"email"},"data":[{"metric":"oWaiting","stats":{"count":1},"truncated":false,"observations":[{"observationDate":"2022-01-20T11:19:04.882Z","conversationId":"116b9f91-bf82-4275-9cdc-c405068b4cba","sessionId":"f97de11e-eb99-4781-ae13-33a9e5b6c3f0","routingPriority":0,"direction":"inbound","addressFrom":"[email protected]","addressTo":"[email protected]","requestedRoutings":["Standard"]}]}]}]}
我正在使用這個正則運算式:
^.*? with conversationId ([a-f0-9] )
但它不作業。這是最好的方法嗎?有一個更好的方法嗎?
uj5u.com熱心網友回復:
.*conversationId":"([^"] )".*
將會話 ID 保存到捕獲組 1。
如果你使用 perl,你可以這樣做:
s/.*conversationId":"([^"] )".*/\1/
這適用于您的示例,但它可能無法很好地擴展到不同的輸入 JSON 訊息。正如其他人所提到的,正確的方法是將字串決議為原生 JSON 物件,然后使用它的方法提取欄位。
uj5u.com熱心網友回復:
最終,我以錯誤的方式解決了這個問題。我應該一直在決議 json 而不是試圖提取特定的字串。
Blueprism 有一個 json 物件來完成這個功能。 https://digitalexchange.blueprism.com/dx/entry/3439/solution/utility---json
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/417381.html
標籤:
