Python笔记 之 json模块简介

简单介绍如何使用 Python的 json 模块来编码和解码 JSON 对象。

主要函数:

json.dumps():用于将 python 对象编码成 JSON 字符串
json.dump():用于将 python 对象编码成 JSON 字符串并存储为json文件
json.loads():将JSON数据解析问python对象
json.load():从json文件中将JSON解析为python对象

json.dumps()

语法:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=“utf-8”, default=None, sort_keys=False, **kw)
obj:待编码的python对象
skipkeys:True可以跳过非string对象当作key的处理,防止抛ValueError的异常
ensure_ascii:False在json中输出中文字符
indent:指定缩进字符长度
separators:去掉指定字符两边的空格
encoding:编码格式
sort_keys:True按字典的keys排序
示例:

data = {'a':1,'d':4,'e':5,'b':2,'c':3}
jdata = json.dumps(data,sort_keys=True,indent=4,separators=(',',':'))
print(data,'\n',
      jdata)
# 结果
{'a': 1, 'd': 4, 'e': 5, 'b': 2, 'c': 3} 
 {
    "a":1,
    "b":2,
    "c":3,
    "d":4,
    "e":5
}
json.dump()

语法
json.dumps(obj,fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=“utf-8”, default=None, sort_keys=False, **kw)
相比json.dumps()多了一个fp参数,用于指定保存的文件句柄。
示例
将data编码为JSON并保存在example.json

data = {'a':1,'d':4,'e':5,'b':2,'c':3}
with open('./example.json','w') as f:
    json.dump(data,f,indent=4,separators=(',',':'))
python类型向JSON类型转换对照

dict =》object
list, tuple =》array
str, unicode =》string
int, long, float =》number
True =》true
False =》false
None =》null

json.loads()

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

jdata = ' {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}'
text = json.loads(jdata)
print(text)

# 结果
{'a': 1, 'd': 4, 'e': 5, 'b': 2, 'c': 3}
json.load()

语法
json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
示例
从文件 example.json读取解析JSON

with open('./example.json','r') as f:
    data = json.load(f)
    print(data)
   
# 结果
{'a': 1, 'd': 4, 'e': 5, 'b': 2, 'c': 3}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值