Python 字典与json数据转换

本文介绍了Python中字典(dict)与JSON格式数据之间的转换方法,包括dict转换为JSON字符串(json.dumps),JSON字符串解析为dict(json.loads),以及通过文件进行读写(json.dump/json.load)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 获取字典dict
In [1]: data = {i:ord(i) for i in list('abcde')}

In [2]: data
Out[2]: {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}

In [3]: import json

# dict -> json
In [5]: json.dumps(data)
Out[5]: '{"a": 97, "b": 98, "c": 99, "d": 100, "e": 101}'


# json.dump(dict, filename),将dict格式的数据编码为json格式并存储
In [12]: with open('temp.json', 'w') as f:
    ...:     json.dump(data, f)
    ...:

# json.load(filename),将读取的数据解码为dict格式
In [13]: with open('temp.json', 'r') as f:
    ...:     new_data = json.load(f)
    ...:

In [14]: new_data
Out[14]: {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}


In [17]: json_data = json.dumps(data)

In [18]: type(json_data)
Out[18]: str

In [19]: dict_data = json.loads(json_data)

In [21]: dict_data
Out[21]: {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}

In [22]: dict_data.__class__
Out[22]: dict

In [23]: json_data.__class__
Out[23]: str


In [25]: with open('temp.json', 'r') as f:
    ...:     temp = f.read()
    ...:

In [26]: temp
Out[26]: '{"a": 97, "b": 98, "c": 99, "d": 100, "e": 101}'

In [27]: json.loads(temp)
Out[27]: {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}

小结:

  • json.load(file_obj),接收文件对象,将其解码并返回为字典格式的数据
  • json.loads(json_str), 接收json格式字符串,将其解码并返回字典格式的数据
  • json.dump(dict, file_obj), 接收dict格式数据,将其编码为json格式的数据,最后写入文件中
  • json.dumps(dict), 接收dict格式数据,并返回json格式的数据
  • json.load、json.dump 处理文件的的读与写;json.loads、json.dumps处理jsondict之间的解码和编码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值