gpt4 book ai didi

python - 如何使用python过滤文件中的json输出?

转载 作者:行者123 更新时间:2023-12-01 03:19:02 28 4
gpt4 key购买 nike

我们希望从 testers.txt 中过滤以下 json 输出,以查找列表形式的任何 userid:

{
"status": true,
"user": {
"user_id": "16214222",
"username": "tester11"
}
},
{
"status": true,
"user": {
"user_id": "44223333",
"username": "tester22"
}
}

我们目前拥有的内容(尝试过旧代码):

import json

with open('testers.txt') as fp:
inText = fp.read()
data = json.loads(inText)
print data['user_id']

最后输出应该是:

16214222,
44223333

我们目前收到以下错误:

Traceback (most recent call last):
File "start.py", line 5, in <module>
data = json.loads(inText)
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 7 column 2 - line 14 column 2 (char 105 - 212)

我是 stackoverflow 的新手 - 请随时评论我的问题,以便我提高自己。

最佳答案

您的 json 文件上需要一个前导和尾随方括号,如下所示:

[{
"status": true,
"user": {
"user_id": "16214222",
"username": "tester11"
}
},
{
"status": true,
"user": {
"user_id": "44223333",
"username": "tester22"
}
}]

然后您可以执行以下操作:

import json

with open('testers.txt') as fp:
data = json.load(fp)

for user in data:
print user['user']['user_id']

返回:

16214222
44223333

关于python - 如何使用python过滤文件中的json输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42156544/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com