Why it doesn't work?

作業のメモ、記録をブログに残しています。

Python JSONデータ読み込み時にエラーが発生する (Expecting property name enclosed in double quotes)

以下のようなプログラムを実行すると、エラーメッセージが表示されました。

import json

with open('test.json', 'r') as f:
    l = json.load(f)
    for d in l:
        print(d)

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 7 column 3 (char 97)

"test.json"の中身を確認すると、最初のデータの最後の要素に","ついています。これが原因のようです。

[
  {
    "id":"1",
    "first_name":"Taro",
    "last_name":"Sato",
    "gender":"Male",
  },
  {
    "id":"2",
    "first_name":"Hanako",
    "last_name":"Suzuki",
    "gender":"Female"
  }
]

最後の要素の","を削除して、再度実行すると

{'id': '1', 'first_name': 'Taro', 'last_name': 'Sato', 'gender': 'Male'}
{'id': '2', 'first_name': 'Hanako', 'last_name': 'Suzuki', 'gender': 'Female'}

期待通りの動作となりました。
このエラーは、以下のように要素がシングルコーテーションで括られている場合にも発生します。

'id':'1',

今日はここまで。