【python】記錄一次python發送json數據到go服務端,服務端解析失敗問題

【python】記錄一次python發送json數據到go服務端,服務端解析失敗問題

背景:在做性能測試時,python把採集到的性能數據通過post回傳到服務端,服務端用go實現,服務端是將接收的json通過json.Unmarshal反序列化爲對應的結構體,但在實現時一直提示數據類型錯誤的問題

問題代碼

python發送請求
dict_data = {a:1, b:2, c:3}   # dict_data是一個字典
headers = {'Content-Type': 'application/json'}
data = json.dumps(dict_data)
response = requests.post(url, json=data, headers=headers)
go接收參數反序列化爲結構體
// perfData是結構體,對應的json數據
err := json.Unmarshal(body, &PerfData)
報錯信息
err1 is : json: cannot unmarshal string into Go value of type dao.PerfData

藉助文心一言,說是數據類型錯誤,然後一直對比查看json的每個字段和結構體中的數據類型,發現沒問題

解決

忽然想起來,python中發送json格式的數據時,會自動將字典轉化爲json,無需手動json.dumps轉化爲json數據

python正確代碼
dict_data = {a:1, b:2, c:3}   # dict_data是一個字典
headers = {'Content-Type': 'application/json'}
response = requests.post(url, json=dict_data, headers=headers)     # 會自動把dict轉化爲json,所以參數還是字典類型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章