python读写json文件

7 篇文章 0 订阅
4 篇文章 0 订阅

Json是一种轻量级的数据交换格式。

1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
  1. json.dumps()函数 将 Python 对象编码成 JSON 字符串(字典–》字符串)【编码】
  2. json.loads()函数 将已编码的 JSON 字符串解码为 Python 对象(字符串----》字典)【解码】
语法
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)
实例
#!/usr/bin/python
'''#json.dumps用于将Python对象编码成JSON字符串
语法:
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)'''
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
print(data)
print(type(data))

js = json.dumps(data)
print(js)
print(type(js))

在这里插入图片描述

print(json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': ')))
"""json.loads
用于解码json数据,返回python字段的数据类型
语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

"""
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'

text = json.loads(jsonData)
print(text)
print(type(text))

在这里插入图片描述
在json的编解码过程中,python 的原始类型与json类型会相互转换,具体的转化对照如下:

Python 编码为 JSON 类型转换对应表:
Python JSON
dict object
list, tuple array
str string
int, float, int- & float-derived Enums number
True true
False false
None null
JSON 解码为 Python 类型转换对应表:
JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None

使用第三方库:Demjson

Demjson 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。

encode

Python encode() 函数用于将 Python 对象编码成 JSON 字符串。

语法 demjson.encode(self, obj, nest_level=0)

decode

Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。 demjson.decode(self, txt)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值