【发布时间】:2020-09-29 03:24:55
【问题描述】:
我正在 Python3 中运行一段代码,我正在使用来自源的 JSON 数据。我无法控制来源。在读取 json 数据时,我收到以下错误。
simplejson.errors.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2
以下是代码
import logging
import simplejson as json
logging.basicConfig(level=logging.INFO)
consumer = KafkaConsumer(
bootstrap_servers='localhost:9092',
api_version=(1,0,0))
consumer.subscribe(['Test_Topic-1'])
for message in consumer:
msg_str=message.value
y = json.loads(msg_str)
print(y["city_name"])
由于我无法更改源,我需要在最后修复它。我发现这篇文章很有帮助,因为我的数据包含带有 : 的时间戳。
但我的 json 数据中的某些值也会失败,因为这些值中包含 :。例如address:"1600:3050:rf02:hf64:h000:0000:345e:d321"。
有什么方法可以在我的 json 数据中的键上添加双引号?
谢谢。
【问题讨论】:
-
- 编辑了原始问题并添加了我正在使用的代码。
-
您可以尝试使用模块
dirtyjson- 它可以修复一些错误。 -
您还没有向我们展示您的输入示例。无论如何,听起来你正在处理的不是 JSON。
标签: python json python-3.x