Python ValueError: JSON オブジェクトをデコードできませんでした
名前エラー、Python オブジェクトを JSON にエンコードする方法、および隣接する文字列を Python オブジェクトにデコードする方法について説明します。 また、JSON データの解析に失敗する理由についても学びます。
Python で JSON オブジェクトをデコードする
json
モジュールをインポートすることから始めましょう。このセッションでは、Python オブジェクトを隣接するテキストにエンコードおよびデコードすることを計画しています。 次の行に切り替えて、いくつかのキーと値のペアを持つ小さな文字列全体を格納する変数を定義します。
これを印刷すると、変数で定義したとおりに印刷されていることがわかります。つまり、文字列です。
コード:
import json
Sample_json = '{"Employee_Name":"Garry","Employee_Age":29}'
print(Sample_json)
# We can see the type of this Sample_json using the type() function
print(type(Sample_json))
出力:
{"Employee_Name":"Garry","Employee_Age":29}
<class 'str'>
JSON 文字列を Python オブジェクトにデコードする
次に、それを Python オブジェクトにデコードする必要があり、正確に Python 辞書に変換されます。 json.loads()
メソッドを使用して隣接する文字列をデコードし、同時にオブジェクトのタイプも出力します。
import json
Sample_obj = json.loads(Sample_json)
print(Sample_obj)
print(type(Sample_obj))
出力:
{'Employee_Name': 'Garry', 'Employee_Age': 29}
<class 'dict'>
Python オブジェクトを JSON 文字列にエンコードする
json.loads()
メソッドを使用して、JSON 文字列を Python 辞書オブジェクトにデコードできることを確認しました。 Python オブジェクトを変換する別の例、または Python オブジェクトを JSON 文字列にエンコードする方法を見てみましょう。
Sample_json2
というもう 1つのオブジェクトを定義しましょう。これは辞書になります。 これを JSON に変換するには、json.dumps()
メソッドを使用します。
次に、JSON 文字列にエンコードするオブジェクトを提供します。 これで、dumps()
メソッドが生成した出力のタイプがわかり、そのタイプが str
(string) であることがわかります。
コード:
import json
Sample_json2 = {"Employee_Name": "Garry", "Employee_Age": 29}
print(Sample_json2)
print(type(Sample_json2))
temp = json.dumps(Sample_json2)
print(temp)
print(type(temp))
出力:
{'Employee_Name': 'Garry', 'Employee_Age': 29}
<class 'dict'>
{"Employee_Name": "Garry", "Employee_Age": 29}
<class 'str'>
dumps()
メソッドは Python オブジェクトを隣接する文字列にエンコードし、loads()
メソッドは JSON 文字列を Python オブジェクトにデコードします。 このアプローチに従えば、JSON データを解析するときに時々発生する値エラーは発生しません。
Python で JSON データの解析に失敗する理由はたくさんあります。そのうちの 1つは、空の文字列または空のファイルをデコードしようとしている場合や、JSON ファイルの間違ったパスを指定している場合があります。
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません