我有这样的json响应
2019 May 28 10:03:56.586520 pacexg1v1 rdkbrowser2[4786]: 190528-10:03:56.586491 [mod=RDKBROWSER2, lvl=INFO] [tid=4786] onConsoleLog:rdkbrowser.cpp:926 [ConsoleAPI:144]: {"objectName":"com.comcast.BridgeObject_1","methodName":"JSMessageChanged","argv":["{\"action\":\"entitlementsAccountLink\",\"args\":{\"action\":\"appLaunch\",\"subscriptionEntitlements\":[{\"id\":\"Prime\",\"endDate\":1561629841000}]},\"pid\":7}"]}
从此使用正则表达式如何单独获取json
{"objectName":"com.comcast.BridgeObject_1","methodName":"JSMessageChanged","argv":["{\"action\":\"entitlementsAccountLink\",\"args\":{\"action\":\"appLaunch\",\"subscriptionEntitlements\":[{\"id\":\"Prime\",\"endDate\":1561629841000}]},\"pid\":7}"]}
答案 0 :(得分:0)
当响应中只有一个JSON数据且响应中的JSON数据中不能包含({[\s\S]*})
和{
个字符时,以下正则表达式将起作用}
。 / p>
否则,您将无法使用正则表达式进行解析,因为JSON数据主要包含递归,例如。 {"obj1": {"obj1_1": "val1_1"}}
。
如果响应中有两个JSON数据,则无法确定第一个结束于何处,第二个何处以正则表达式开始。