五周一次课(11月13日) 10.8.1 json(上) 10.8.2 json(下)

来源:互联网 发布:财神软件 编辑:程序博客网 时间:2024/05/16 16:03

五周一次课(11月13日)

10.8.1 json(

Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。而我们将一下我们平时工作中最长用的两种方式。
json.cn

json常用的四种方法json.loadsjson.dumpsjson.loadjson.dumpload,加载,将json转换成其他格式,字符串,文件等格式dump,颠倒,将其他格式字符串文件转化成json

带s是用来处理字符串的,不带s是用来处理文件的

1.json类型和python数据的转换

1.1 json.dumps()将python对象编码转化成json字符串。

import jsonm = {'success': True, 'message': 'hello'}json_str = json.dumps(m)print(json_str)print(type(json_str))结果:{"message": "hello", "success": true}<type 'str'>

解释:
Data是一个python数据字典,最后通过json.dumps()函数把data转换成字符串的形式。除了字典,python还有很多数据对象,如下列出python对象通过dumps()函数转换后的对应关系:

Python JSON dict object list, tuple array str, unicode string int, long, float number True true False false None null

1.2 json.loads()将json字符串解码成python对象。

在工作中,很多情况是别人给你提供的接口就是json字符串形式的。比如:你在数据库中查到的数据,返回结果是一个json的字符串的形式,这你就需要自己把这些json字符串转换成json对象。

import jsonjsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'text = json.loads(jsonData)print textprint(type(text))结果:{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}<type 'dict'>

解释:
通过json.loads方法把json字符串转换成python的数据字典。

2.文件和json之间的转换

2.1json.dump()

import jsonjsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'f = open('a.txt', 'w')json.dump(jsonData,f)f.close()结果:生成a.txt文件,内容如下:"{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}"

解释:
json.dump()可以把json数据直接写入到文件中。

2.2 json.load()

import jsonjsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'f = open('a.txt', 'w')json.dump(jsonData,f)f.close()aa = open('a.txt', 'r')dict11=json.load(aa)print(dict11)print(type(dict11))结果:{"a":1,"b":2,"c":3,"d":4,"e":5}<type 'unicode'>

解释:
json.load()把文件内容转换成unicode数据类型返回

阅读全文
0 0