Pythonで文字列内のダブルクォーテーションをシングルクォーテーションに置換する方法


関数を使用してロードする場合に、文字列内のクォーテーションを変更する必要があることがよくあります。

以下にいくつかの方法を示します:

方法1: str.replace()を使用する方法

import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
replaced_str = json_str.replace('"', "'")
json_data = json.loads(replaced_str)
print(json_data)

方法2: 正規表現を使用する方法

import json
import re
json_str = '{"name": "John", "age": 30, "city": "New York"}'
replaced_str = re.sub(r'"([^"]*)"', r"'\1'", json_str)
json_data = json.loads(replaced_str)
print(json_data)

以上の方法では、まずJSON文字列をシングルクォーテーションに置換し、その後json.loads()関数を使用してJSONデータをロードします。これにより、ダブルクォーテーションがシングルクォーテーションに変更された文字列が正しく解釈されます。

注意点として、JSON文字列内にシングルクォーテーションが含まれている場合は、エスケープするか適切に処理する必要があります。