网络编程
位置:首页>> 网络编程>> Python编程>> Python json转字典字符方法实例解析

Python json转字典字符方法实例解析

作者:天天向上327  发布时间:2021-06-07 11:21:40 

标签:Python,json,字典,字符

josn基本操作

1.导入import json

2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码

3.json转字典:json.loads(str)

4.json转字典:requests.get().josn()

5.返回字符串: requests.get().text

举例源码


#!/usr/bin/python3
# encoding:utf-8
import json
import requests

class jsonC():
 def __init__(self):
   self.url = 'http://wthrcdn.etouch.cn/weather_mini?city=北京'
   self.geturl = requests.get(self.url)

#字典转json,因为python没json类型所以str表示
 def dict_json(self):
   d = {"name":"张三","age":18}
   j = json.dumps(d,ensure_ascii=False)
   print('dict_json函数:类型:',type(d),'转类型',type(j),'\n',j)

#json转字典  
 def json_dict(self):
   s = '{"name":"张三","age":18}'
   d = json.loads(s)
   print('json_dict函数:类型:',type(s),'转类型',type(d))

#接口调用直接返回 字典(dict)
 def get_json(self):
   d = self.geturl.json()
   print('get_json函数类型:',type(d))

#接口调用直接返回字符串  
 def get_str(self):
   s = self.geturl.text
   print('get_str函数返回类型:',type(s))

if __name__=="__main__":
 js = jsonC()
 js.dict_json()
 js.json_dict()
 js.get_json()
 js.get_str()

运行结果

dict_json函数:类型: <class 'dict'> 转类型 <class 'str'>
{"name": "张三", "age": 18}
json_dict函数:类型: <class 'str'> 转类型 <class 'dict'>
get_json函数类型: <class 'dict'>
get_str函数返回类型: <class 'str'>

调用get例子

http://wthrcdn.etouch.cn/weather_mini?city=北京

返回json值:


{"data":
{"yesterday":
{"date":"28日星期六","high":"高温 30℃","fx":"西南风","low":"低温 17℃","fl":"<![CDATA[<3级]]>","type":"晴"},
"city":"北京","forecast":
[
{"date":"29日星期天","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 18℃","fengxiang":"南风","type":"晴"},
{"date":"30日星期一","high":"高温 28℃","fengli":"<![CDATA[<3级]]>","low":"低温 19℃","fengxiang":"南风","type":"晴"},
{"date":"1日星期二","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 20℃","fengxiang":"南风","type":"多云"},
{"date":"2日星期三","high":"高温 29℃","fengli":"<![CDATA[<3级]]>","low":"低温 17℃","fengxiang":"南风","type":"晴"},
{"date":"3日星期四","high":"高温 30℃","fengli":"<![CDATA[<3级]]>","low":"低温 12℃","fengxiang":"东南风","type":"多云"}
],"ganmao":"各项气象条件适宜,无明显降温过程,发生感冒机率较低。","wendu":"29"
},"status":1000,"desc":"OK"
}

来源:https://www.cnblogs.com/yiwenrong/p/12664366.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com