返回数据类型为json,提取数据的方法

返回数据中提取数据的方法

 

比如下面的案例是,取店铺名称

 

接口返回数据如下:

 

{"Code":0,"Msg":"ok","Data":{"StoreName":"小贝书屋",

"StoreLogo":"xkdnewyun/systemfile/images/100e478a75754c6f9237cd25e5874ca1.jpg","Contacts":"小贝书屋",

"TelPhone":"18674731640","Introduction":"","IndustryFirstId":"21","IndustryFirst":"亲子",

"IndustrySecondId":"2112","IndustrySecond":"亲子购物","AllProductNum":2,"LatestNum":1},"TraceFlag":null}

 

 

取其中“StoreName”值“小贝书屋”的方法和步骤如下

 

1、首先ipmort json

 

 

2、接口返回的数据

r = requests.get(url,data=data,headers= header)        #请求url,获得返回的数据信息
text = r.text
print(text) #获得的返回数据使用text方法进行获取

 

3、将响应内容转换为json对象

jsonobj = json.loads(text)#将响应内容转换为Json对象

 

4、json对象内取出需要的内容

toCntPercent = jsonobj['Data']['StoreName'] # 从Json对象获取想要的内容

 

整个过程的代码

 

 

打印print(toCntPercent)

 

打印print(toCntPercent)

 

如果返回的是一个list数据,则取出数据的方式又有些变化

比如取出下图id

 

脚本的写法改为:

toCntPercent = jsonobj['Data']['DataList'][0]['Id']  # 从Json对象获取想要的内容

注意id前面的0,代表list里面的第一个id值(list里面可能存在两个id关键字)

 

 

或者取多重括号里的数据

   

listItemId = jsonobj['Data']['DataList'][0]['OrderItem'][0]['Id']

 

当然,也可以使用正则表达式提取,参考https://www.cnblogs.com/becks/p/14494929.html

 

另外一种方案:更加简洁,以json格式输出,提取出数据

复制代码
import requests


url = f"https://fabiaoqing.com/jichou/randomrj.html"

res = requests.post(url=url).json()

a =  res['tgrj'] + '\n'

print(a)
复制代码

 

 

还有一种情况,返回值如下图

 

 

需要提取里面的文字,图中内容返回值在'words_result'中

for item in result['words_result']:
    print(item['words'])

 

posted @   小贝书屋  阅读(33298)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示