Python - 非標準形式の json ファイルを読み取る際のエラーの解決策

.json で終わるすべてのファイルに標準の json 形式のデータが含まれているわけではありません。
たとえば、以下の country.json という名前のファイルのデータ形式は、標準化されていない json データ形式です。
ここに画像の説明を挿入します
注: json 標準形式では、文字列は二重引用符で囲む必要があり、このファイル内の文字列は一重引用符で囲みます。
このような非標準形式の json ファイルを読み取る場合、Python に付属の json モジュールを使用すると、次のエラーが発生します。

import json
# json模块读取非标准格式json文件
with open('countries.json', 'r', encoding='utf-8') as f:
    data = json.load(f)
    print(data)

json.decoder.JSONDecodeError: 二重引用符で囲まれたプロパティ名が必要です: 行 2 列 1 (char 2)
ここに画像の説明を挿入します
解決策:
Python サードパーティ モジュール demjson を使用します。これは、json モジュールの形式制限の問題を解決でき、次の形式設定も含まれます。 JSONLintと検証機能。

demjson の使用方法は次のとおりです:
1. demjson のインストール.
コマンド プロンプト (cmd) を開き、ローカル インストール Python 環境のスクリプト ファイルに移動し、インストール コマンドを入力して Enter キーを押します。インストール コマンド: pip install demjson
2
ここに画像の説明を挿入します
. json ファイルから demjsonを読み取ります
。decode_file()、非標準形式の json ファイルを読み取り、辞書 (dict) 形式のデータを返します。
たとえば、上記の非標準の国.json ファイルは次のようになります。

# 非标准格式json文件读取
import demjson
data = demjson.decode_file('countries.json', encoding='utf-8')
print(data)
print("返回值类型:", type(data))

ここに画像の説明を挿入します
注: json モジュールを使用して非標準の json ファイルを読み取るとエラーが発生することがわかりますが、demjson サードパーティ モジュールを使用すると問題を解決できます。

WeChat で [One Code] をフォローすると、Python 関連の問題の解決策について詳しく知ることができます。
-終わり-

おすすめ

転載: blog.csdn.net/LHJCSDNYL/article/details/125133746