四、python josn转字典字符

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例子

{"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"
}
posted @ 2020-04-09 08:11  天天向上327  阅读(303)  评论(0编辑  收藏  举报