我正在使用python请求访问api端点以获取一些数据,下面是我的response.text模板(实际响应包含数百万事件对象)。
{"event":"Session","properties":{"time":"1642145186", "distinct_id":"ABC-123", "Region":"EU"}}
{"event":"Login","properties":{"time":"1642125126", "distinct_id":"ABC-123", "Region":"EU"}}
{"event":"Register","properties":{"time":"16432125126", "distinct_id":"ABC-123", "Region":"EU"}}当我试图使用response.text或json.loads(json.dumps(response.text))将我的response.json()转换为json对象时,它会引发以下错误
json.decoder.JSONDecodeError: Extra data: 我理解它为什么要抛出这个错误,因为response.text格式不正确,所以JSON对象应该是什么,我想将该文本转换为json对象。我们能用regex做些什么吗?所以我们可以在每一行的末尾添加一个comma (我是Regex概念的新手)吗?或者其他的选择?我真的很想在这里提供一些帮助。
发布于 2022-01-19 18:55:19
数据是ndjson。
每个JSON文本必须符合RFC7159标准,并且必须写入流,后面跟着换行符
\n(0x0A)。换行符的前面可以是回车\r(0x0D)。 JSON文本不能包含换行符或回车.
由于数据显示是换行符,所以您应该在换行符上拆分,并分别对每个对象进行解码。
https://stackoverflow.com/questions/70775984
复制相似问题