Python JSON 解析

本文介绍了Python中的JSON模块,包括如何使用json.dumps()进行编码,json.loads()进行解码,以及如何处理类信息转换成JSON串。在编码过程中,Python对象会被转化为JSON字符串,解码后JSON字符串会转化为Python的基本数据类型,如list、dict等,并讨论了在处理类类型数据时的转换方法。
摘要由CSDN通过智能技术生成

Python中JSON解析

Python2.6开始加入了JSON模块。
Python的JSON模块序列化和反序列化分别是encoding和decoding。

  • encoding :将一个Python对象编码成JSON字符串。
  • decoding:将JSON格式字符串解码成Python对象。

对简单的数据类型可以直接处理。如:string、unicode、int、float、list、tuple、dict

json模块编码

这里我们使用json.dumps()方法将一个Python数据类型列表编码(encoding)成为json格式的字符串。如:

>>> import json
>>> data = [{
  'a':"A",'b':(2,4),'c':3.0}]
>>> print "data :", repr(data)
data : [{
  'a': 'A', 'c': 3.0, 'b': (2, 4)}]
>>> data_json = json.dumps(data)
>>> print data_json
[{
  "a": "A", "c": 3.0, "b": [2, 4]}]

repr()是将一个对象转成字符串显示,注意只是显示用,有些对象直接转字符串会出错。如list,dict使用str()是无效的,但使用repr可以,这是为了看它们都有哪些值。

观察两次打印的结果,会发现Python对象转成JSON字符串以后,会有些变化,原元组被改成了json的数组。
在json的编码过程中,会存在从Python原始类型转化json类型的过程,但这两种语言的类型存在一些差异,对照表如下:

2

#对比实例
>>> a = [{
  1:12, 'a':12.3}, [1,2,3], (1,2), 'asd', u'ad', 12, 13L, 3.3, True, False, None]
>>> print json.dumps(a)
[{
  "a": 12.3, "1": 12}, [1, 2, 3], [1, 2], "asd", "ad", 12, 13, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值