JSON,即JavaScript Object Notation,是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。python
dumps()函数语法以下:json
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
skipkeys
:默认值是False,若是dict的keys内的数据不是python的基本类型,设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key 。ensure_ascii
:为True的时候,全部非ASCII码字符显示为uXXXX序列,只需在dump时将ensure_ascii设置为False便可,此时存入json的中文便可正常显示。check_circular
:若是为false,则将跳过容器类型的循环引用检查,循环引用将致使溢出错误。allow_nan
:若是为为false,那么严格按照JSON规范序列化超出范围的浮点值将是一个valueerror,而不是使用JavaScript等效值。indent
:根据数据格式缩进显示,读起来更加清晰,indent的数值,表明缩进的位数。separators
:更改默认分隔符,美化输出结果。sort_keys
:将数据根据keys的值进行排序。实例:以下所示,将python对象转为json格式函数
import json data = { "name": "Mark", "sex": "man", "age": 36 } data_json = json.dumps(data) print(data_json) # {"name": "Mark", "sex": "man", "age": 36}
实例:以下所示,从test.json文件中读取数据编码
import json f = open('test.json', 'r', encoding='utf-8') print(json.load(f)) # {'name': 'Mark', 'sex': 'man', 'age': 36}
loads()函数语法以下:code
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
实例:以下所示,将JSON数据转为Python对象对象
import json data = '{"name":"Mark", "sex":"man", "age":36}' result = json.loads(data) print(result) # {'name': 'Mark', 'sex': 'man', 'age': 36} print(result["name"]) # Mark
实例:以下所示,将content数据写入test.json文件中排序
import json content = '{"name":"Tom", "sex":"man", "age":36}' f = open('test.json', 'w', encoding='utf-8') json.dump(content, f)
"{\"name\":\"Tom\", \"sex\":\"man\", \"age\":36}"
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |