首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python从字符串拉取数据

Python从字符串拉取数据
EN

Stack Overflow用户
提问于 2018-06-13 04:05:39
回答 2查看 95关注 0票数 -2

我有以下数据字符串:

代码语言:javascript
复制
{"responseStatus":"ok","responseHeader":{"now":1528734419187,"status":"ok","requestId":"Wx6i0wquZS4AAFNeStwAAABg"},"responseData":{"id":38}}

我需要从其中提取"id":38,并将其格式化为"id":"38“

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-13 04:10:15

由于您使用的是requests库(基于您的标记),因此在调用.content时,您可以返回.json(),而不是返回.json()

代码语言:javascript
复制
response = requests.get(....).json()
response['responseData']['id'] = str(response['responseData']['id'])   # or you can just do "38"
票数 2
EN

Stack Overflow用户

发布于 2018-06-13 04:13:38

您可以使用json模块:

代码语言:javascript
复制
import json
json_s = json.loads('{"responseStatus":"ok","responseHeader":{"now":1528734419187,"status":"ok","requestId":"Wx6i0wquZS4AAFNeStwAAABg"},"responseData":{"id":38}}')

json_s['responseData']['id'] = '38' # Or str(json_s['responseData']['id'])


print(json_s)

或者,在本例中,它是一个有效的字典,因此可以使用eval()

代码语言:javascript
复制
json_s = '{"responseStatus":"ok","responseHeader":{"now":1528734419187,"status":"ok","requestId":"Wx6i0wquZS4AAFNeStwAAABg"},"responseData":{"id":38}}'

a = eval(json_s)

a['responseData']['id'] = '38' # Or str(a['responseData']['id'])

print(a)

如果希望将json_sa中的字典转换回字符串,那么只需分别使用str(json_s)str(a)即可。

关于eval()的用法见the documentation

否则,为了避免使用eval(),请使用ast模块。如下所述:

Convert a String representation of a Dictionary to a dictionary?

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

https://stackoverflow.com/questions/50825066

复制
相关文章

相似问题

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