首页 > 编程语言 > Python json转字典字符方法实例解析
2020
09-27

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"
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

编程技巧