辞書与えられたターンを使用してPythonのJSON文字列

問題の説明

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])

ここに画像を挿入説明検証結果:
成功

公開された25元の記事 ウォンの賞賛0 ビュー2661

おすすめ

転載: blog.csdn.net/weixin_43431593/article/details/104080773