-1
有誰知道一種方法來讓json.dumps正確地編碼一個包含正則表達式的字符串嗎?或者,如果有一種替代方法來編碼JSON有效載荷的數據,而JSON有效載荷不會使用能夠正確處理這種情況的json.dumps?當字符串包含正則表達式時,Python編碼特殊的JSON字符?
例如:
import json
MyString = 'regex "Network\sInformation:[\s\S]+?Workstation\sName:\t+(?<src_host>[^\r]+)"'
data = {}
data['MyString'] = MyString
data['date'] = '2017-09-18T11:28:06'
json_data = json.dumps(data)
print json_data
會生成:
{
"date": "2017-09-18T11:28:06",
"MyString": "regex \"Network\\sInformation:[\\s\\S]+?Workstation\\sName:\t+(?<src_host>[^\r]+)\""
}
但是,你會發現[^\r]
不正確轉義,應[^\\r]
,當通過API處理結果在解析錯誤。
在年底,JSON有效載荷我在這裏建設將使用請求,類似這樣被提交給Web API:
requests.post(url, auth=(uname, passwd), data=json_data, headers=headers)
注:我認爲簡單地創建一個函數,發出一串替換命令手動編碼這個我自己,這是我目前的計劃B,但我希望已經有一個解決方案/模塊在那裏,我可以利用它來做到這一點。
doh !!!謝謝!這是非常有意義的,一切都是正確的世界。 – user3246693