Python笔记9:Python中的json

来源:互联网 发布:数据挖掘建模 编辑:程序博客网 时间:2024/05/17 22:40

介绍

不了解JSON的可以先取看看json:http://json.org/

python中有自带的json编码器和解码器

  1. dumps
  2. loads
  3. dump
  4. load

以上四种方法是python中json的主要处理方法

区别

  • dumps的模块可以把特定的对象序列化处理为字符串
# 定义两个序列>>> l1 = [1,2,3,123]>>> l2 = {'version':1,'code':"test"}# dumps转换>>> newl1 = json.dumps(l1)>>> newl2 = json.dumps(l2)# 检验类型,结果为string类型>>> type(newl1)<class 'str'>>>> type(newl2)<class 'str'># 验证,结果为字符串类型数据>>> newl1'[1, 2, 3, 123]'>>> newl2'{"version": 1, "code": "test"}'
  • loads模块,和dumps正好相反,就是对字符串进行反序列化的,前提是要符合被转换格式的字符串
# loads转换>>> json.loads(newl1)[1, 2, 3, 123]>>> json.loads(newl2){'version': 1, 'code': 'test'}# 证明类型>>> type(json.loads(newl1))<class 'list'>>>> type(json.loads(newl2))<class 'dict'>

首先要导入json库
>>> import json

json排序

sort_keys默认缺省,值默认为False

>>> test_json = {"c":'this is C',"b":"this is B","a":'this is A'}>>> json.dumps(test_json,sort_keys=True)'{"a": "this is A", "b": "this is B", "c": "this is C"}'

紧凑编码 和 缩进

# 紧凑编码>>> json.dumps([1,2,3,{'4' :  5, "6" :  7}], separators=(',',':'))'[1,2,3,{"4":5,"6":7}]'# 缩进>>> print(json.dumps({"1":2,"2":3,"3":4},sort_keys=True,indent = 4)){    "1": 2,    "2": 3,    "3": 4}# 不用print输出的是\n

json解码

# load>>> x = open("test.json")>>> json.load(x){'version': 1, 'code': 'abcdefg'}# loads>>> json.loads('{"version":1,"code":"test"}'){'version': 1, 'code': 'test'}
原创粉丝点击