問題の説明
C:\Users\lenovo\AppData\Local\Programs\Python\Python37\python.exe D:/360MoveData/Users/lenovo/Desktop/startProject/OAS.Cloud.PAAS_Interface/TestCases/UM/Test_01_register.py
D:\360MoveData\Users\lenovo\Desktop\startProject\OAS.Cloud.PAAS_Interface\common\CaseData.ini
Traceback (most recent call last):
File "D:/360MoveData/Users/lenovo/Desktop/startProject/OAS.Cloud.PAAS_Interface/TestCases/UM/Test_01_register.py", line 73, in <module>
Test_UM_register().test_01()
File "D:/360MoveData/Users/lenovo/Desktop/startProject/OAS.Cloud.PAAS_Interface/TestCases/UM/Test_01_register.py", line 52, in test_01
headers = json.loads(dataList[1])
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\json\__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\json\decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Process finished with exit code 1
上記、json.decoder.JSONDecodeError:二重引用符で目的の属性名:jsondecodeerrorを意味し、二重引用符で囲まれたプロパティ名を期待
分析
私は私の元のデータ形式を表示:{「タイプのコンテンツ」:「ファイルアプリケーション/ JSON」}
Pythonのシングルダブルクォーテーションマークが考慮されていますが、JSONは、それが二重引用符に従って同定されます。必要なときにそのため、JSON形式を変換するための任意の使用は、エスケープ「\」を追加し、単一引用符を二重引用符を変換する必要があります。上記の問題を分析することによって、我々は2つの方法を持っている:1、元の形式の二重引用符の中に、別の実施形態では、変換する2
問題解決
元の形式の二重引用符に1
:{ ' 'のContent-Type'アプリケーション/ JSON'} と{ "コンテンツタイプ": "アプリケーション/ JSON"}
検証結果:
成功
変換する他の方法については2、
headers = eval(dataList[1])
# headers = json.loads(dataList[1])
検証結果:
成功