1. ホーム
  2. json

jsonファイルのインポートエラー、TypeError expected string or buffer

2022-03-16 23:03:05
jsonファイルのインポートエラー、TypeError期待される文字列またはバッファー

理由: Python は文字列に値を代入した後、ダブルクォートをシングルクォートに変換します。

import json

data = [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
print(type(data),data)


実行結果です。

<class 'list'> [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} ]である。

しかし、そうです、jsonはシングルクォートをサポートしていないのです。次のようにして変換することができます。

json_string=json.dumps(s)

python_obj=json.loads(json_string)


インスタンスです。

import json

data = [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]
json_string = json.dumps(data) #dumps serializes to str, so it ensures that double quotes don't become single quotes
python_obj = json.loads(json_string) #oads deserialization, so the same as the original data
print(type(json_string),json_string)
print(type(python_obj),python_obj)


実行結果です。

<class 'str'> [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]

<class 'list'> [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]