python中json文件创建_Python中json的使用方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:50   2672   0

Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。Python2.6 以上版本支持Json的编码和解码,支持python的大部分内置类型与Json进行转换。Python2.6之前的版本需要单独安装json后才能使用。

Json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。Json模块提供了四个功能:dumps、dump、loads、load。

json dumps把数据类型转换成字符串。

dump把数据类型转换成字符串并存储在文件中。

loads把字符串转换成数据类型。

load把文件打开从字符串转换成数据类型。

一、encode过程:

1)Serialize ``obj`` as a JSON formatted stream to ``fp`` (a

``.write()``-supporting file-like object).

dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

2)Serialize ``obj`` to a JSON formatted ``str``.

dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

Skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key。

ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似甥塘塘的显示数据,设置成False后,就能正常显示。

indent:是一个非负的整型,如果是0,或者为空,则一行显示数据,否则会换行且按照indent的数量显示前面的空白,这样打印出来的json数据也叫pretty-printed json

separators:分隔符,实际上是(item_separator, dict_separator)的一个元组,默认的就是(',',':');这表示dictionary内keys之间用“,”隔开,而KEY和value之间用“:”隔开。

encoding:默认是UTF-8,设置json数据的编码方式。

sort_keys:将数据根据keys的值进行排序。

7b8922965166833359c927ae235456a3.png

e.g:

dumps:将python中的 字典 转换为 字符串:

>>> #coding:gbk

>>>

>>> import json

>>> dic = {'name':'小明','ID':'000001','grade':'四年级','age':'11'}

>>> print(dic)

{'name': '小明', 'grade': '四年级', 'ID': '000001', 'age': '11'}

>>> json1 = json.dumps(dic)

>>> print(json1)

{"name": "小明

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP