Python笔记9:Python中的json

介绍

不了解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'}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符集和编码简介 在编程中常常可以见到各种字符集和编码,包括ASCII,MBCS,Unicode等字符集。确切的说...
    兰山小亭阅读 8,614评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • IO编程概念 IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由C...
    时间之友阅读 731评论 0 0
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,628评论 1 118
  • 一直默默关注新成员形象设计的动态,眼看着快到截稿的日子了,赶紧把woli简黛玉&简宝玉从ps里唤了出来。喏,就下面...
    豆子仙人阅读 1,606评论 8 7