Python json

简介

Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式,现在也常用于http请求中.
简单理解就是json库可以把python中的字典(dict)解析为字符串(str),又可以把字符(str)编译为(dict).其实自己也可以写个类似的程序.

模块方法

编码(encode),将python对象转换为文件或字符串

将对象转换为json字符串

json.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)

将对象转换为json文件

json.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)
json.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)
参数描述
obj序列化对象
fpjson模块总是产生str对象,而不是bytes对象。因此,fp.write()必须支持str输入。
ensure_ascii为true(默认值),则输出将保证所有传入的非ASCII字符都转义。如果ensure_ascii为false,则这些字符将按原样输出。
check_circular为false(默认值:True),则将跳过容器类型的循环引用检查
allow_nanfalse(默认值:True),则将是ValueError序列化超出范围float值(nan,inf,-inf),严格遵守JSON规范。如果allow_nan为true,则将使用与其等效的JavaScript代码(NaN,Infinity,-Infinity)
sort_keys为真(默认值:False),则字典的输出将按键排序。

编码对应:

JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
TRUETRUE
FALSEFALSE
nullNone

解码(decode),将文件或字符串转换为python对象

将json字符串转换为对象

json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

将json文件转换为对象

json.load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

解码对应:

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
TRUETRUE
FALSEFALSE
Nonenull

应用

字符串之间的转换

import json
# 字典编译为字符串(dumps)
x=json.dumps({"name":"wang","age":18})
print(x,type(x))
{"name": "wang", "age": 18} <class 'str'>
# 字符串编译为字典(loads)
y=json.loads('{"name":"wang","age":18}')
print(y,type(y))
{'name': 'wang', 'age': 18} <class 'dict'>

文件之间的转换

file = open('test.json','w',encoding='utf-8')  
json.dump({"name":"wang","age":18},file,ensure_ascii=False)
file.close() 
file = open('test.json','r',encoding='utf-8')

参考文献:
http://www.cnblogs.com/loleina/p/5623968.html
http://python.usyiyi.cn/translate/python_352/library/json.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值