Python中通常如何处理Json格式数据?,python json数据处理
文章目录1.数据介绍2.方法2.1 JSON。转储2.2 JSON。转储2.3 JSON。负载3 .json.dumps常用参数3.1排序_关键字3.2缩进3.3分隔符3.4确保_ascii 4 .错误错误
1.数据介绍JSON(JavaScript对象符号)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
数据格式可以简单地理解为键值对的集合(名称/值对得集合).不同的语言中,它被理解为对象(对象),纪录(记录),结构(结构),字典(字典),哈希表(哈希表),有键列表(键控列表),或者关联数组(关联数组).
值的有序列表(有序的值列表).在大部分语言中,它被理解为数组(数组).
2.方法
2.1 json.dumpsdump的功能就是把计算机编程语言对象编码为数据对象,一个编码过程。注意数据模块提供了json.dumps和json.dump方法,区别是倾销直接到文件,而抑郁到一个字符串,这里的s可以理解为字符串。
2.2 json.dump不仅可以把计算机编程语言对象编码为字符串,还可以写入文件。因为我们不能把计算机编程语言对象直接写入文件,这样会报错类型错误:应为字符串或其他字符缓冲区对象,我们需要将其序列化之后才可以。
2.3 json.loads从计算机编程语言内置对象倾销为数据对象我们知道如何操作了,那如何从数据对象译解码为计算机编程语言可以识别的对象呢?是的用json.loads方法,当然这个是基于线的,如果是文件,我们可以用json.load方法。
实例1:
#!/usr/bin/python
导入数据
data=[ { a:A , b:(2,4), c:3.0} ]
打印"数据:",报告(数据)
data_string=json.dumps(data)
打印JSON:,数据字符串
打印类型(数据)
打印类型(数据字符串)
用打开( output.json , w )作为fp:
json.dump(data,fp)
打印类型(fp)
解码_ JSON=JSON。加载(数据字符串)
打印类型(解码_json)
print decoded_json[0][a]
loaded_json=json.load(fp)
打印类型(loaded_json)
打印loaded_json()json和计算机编程语言对象转换过程中,数据类型不完全一致,有对应。
计算机编程语言
数据
词典
目标
列表,元组
排列
字符串,unicode
线
int,long,float
数字
真实的
真实的
错误的
错误的
没有人
空
json.dumps常用参数一些参数,可以让我们更好地控制输出。常见的比如排序键、缩进、分隔符、跳过键等。
3.1排序关键字输出时字典的是按键值排序的,而不是随机的。
导入数据
data=[ { a:A , b:(2,4), c:3.0 } ]
打印"数据:",报告(数据)
unsorted=json.dumps(data)
打印JSON:“,json.dumps(数据)
print SORT:,json.dumps(data,sort_keys=True)输出:
$ python js2.py
数据:[{a: A , c: 3.0, b: (2,4)}]
JSON: [{a: A , c: 3.0, b: [2,4]}]
排序:[{a: A , b: [2,4], c: 3.0}]
3.2缩进就是更个缩进,让我们更好地看清结构。
导入数据
data=[ { a:A , b:(2,4), c:3.0 } ]
打印"数据:",报告(数据)
print NORMAL:,json.dumps(data,sort_keys=True)
print INDENT:,json.dumps(data,sort_keys=True,indent=2)输出:
$ python js3.py
数据:[{a: A , c: 3.0, b: (2,4)}]
正常:[{a: A , b: [2,4], c: 3.0}]
缩进:[
{
a: A ,
b: [
2,
四
],
c: 3.0
}
]
3.3分离器提供分隔符,可以出去白空格,输出更紧凑,数据更小。默认的分隔符是(, , : ),有白空格的。不同的抑郁参数,对应文件大小一目了然。
data=[ { a:A , b:(2,4), c:3.0 } ]
打印"数据:",报告(数据)
打印报告(数据) :,长度(报告(数据))
print dumps(data):,len(json.dumps(data))
print dumps(data,indent=2):,len(json.dumps(data,indent=2))
print dumps(data,separators):,len(json.dumps(data,separators=(,,:))输出:
数据:[{a: A , c: 3.0, b: (2,4)}]
repr(数据):35
转储(数据):35
转储(数据,缩进=2) : 76
转储(数据,分隔符):29
3.4确保_ascii支持中文
打印json.dumps(服务,确保_ascii=False)
4.错误错误数据需要字典的的键是字符串,否则会抛出值错误。
data=[ { a:A , b:(2,4), c:3.0,( D ,): D tuple } ]
打印"第一次尝试"
尝试:
打印json.dumps(数据)
except (TypeError,ValueError)为错误:
打印"错误:",错误
打印
打印"第二次尝试"
打印json.dumps(data,skipkeys=True)输出:
第一次尝试
错误:密钥必须是字符串
第二次尝试
[{a: A , c: 3.0, b: [2,4]}]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。