我有一个文件,每行都有像这样的文本(代表电影演员阵容):
[{'cast_id': 23, 'character': "Roger 'Verbal' Kint", 'credit_id': '52fe4260c3a36847f8019af7', 'gender': 2, 'id': 1979, 'name': 'Kevin Spacey', 'order': 5, 'profile_path': '/x7wF050iuCASefLLG75s2uDPFUu.jpg'}, {'cast_id': 27, 'character': 'Edie's Finneran', 'credit_id': '52fe4260c3a36847f8019b07', 'gender': 1, 'id': 2179, 'name': 'Suzy Amis', 'order': 6, 'profile_path': '/b1pjkncyLuBtMUmqD1MztD2SG80.jpg'}]
我需要将其转换为有效的json字符串,因此仅将必要的单引号转换为双引号(例如,不得转换围绕单词Verbal的单引号,文本中的任何撇号也不应转换)。
我正在使用Python 3.x。 我需要找到一个正则表达式,仅将右单引号转换为双引号,从而使整个文本成为有效的JSON字符串。有什么想法吗?
import json;json.dumps(your_dict)
- Amit Tripathidict
,它只是文件中的一个字符串。 - chepnerEdie's Finneran
被单引号包围;没有解析器能够知道这个撇号不是结束引号。你需要修复生成该文件的任何内容,这样你可能最好一开始就输出 JSON。 - chepner