首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将响应文本解析为json对象

将响应文本解析为json对象
EN

Stack Overflow用户
提问于 2022-01-19 18:31:26
回答 1查看 589关注 0票数 0

我正在使用python请求访问api端点以获取一些数据,下面是我的response.text模板(实际响应包含数百万事件对象)。

代码语言:javascript
复制
{"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对象时,它会引发以下错误

代码语言:javascript
复制
json.decoder.JSONDecodeError: Extra data: 

我理解它为什么要抛出这个错误,因为response.text格式不正确,所以JSON对象应该是什么,我想将该文本转换为json对象。我们能用regex做些什么吗?所以我们可以在每一行的末尾添加一个comma (我是Regex概念的新手)吗?或者其他的选择?我真的很想在这里提供一些帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-19 18:55:19

数据是ndjson。

说明书上写着

每个JSON文本必须符合RFC7159标准,并且必须写入流,后面跟着换行符\n (0x0A)。换行符的前面可以是回车\r (0x0D)。 JSON文本不能包含换行符或回车.

由于数据显示是换行符,所以您应该在换行符上拆分,并分别对每个对象进行解码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70775984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档