python的json包位置及用法总结

(编辑:jimmy 日期: 2026/4/9 浏览:2)

JSON是一种独立于语言的文本格式,用于数据交换,可以在不同语言间交换数据。

在高级版本的Python里自带json模块包,使用import json直接导入模块。

JSON文本以“键/值”对形式定义,Python里的json模块主要用于“Python数据与JSON格式的数据间相互转换”。

JSON的数据类型:

数字(整数或浮点数),字符串(“ ”),逻辑值(True/False),数组([ ]),对象({ }),null。

json模块里常用的四个方法是dump,dumps,load,loads。详细的方法使用细节参考Python自带帮助文件help(json.dump)。

Encode编码为json对象:

json.dumps

Pyhton的Json模块提供了把内存中的对象序列化的方法。

dump的功能就是把Python对象encode为json对象,一个编码过程。 注意json模块提供了json.dumps和json.dump方法,区别是dump直接到文件,而dumps到一个字符串,这里的s可以理解为string。

#dumps方法
import json
data = [{ 'a':'A', 'b':(2, 4), 'c':3.0 }]
print('DATA:', repr(data), type(data)) 
data_string = json.dumps(data)
print('JSON:', data_string, type(data_string))

json.dump

不仅可以把Python对象编码为string,还可以写入文件。

但是不能把Python对象直接写入文件,这样会报错TypeError: expected a string or other character buffer object,需要将其序列化之后才可以写入文件。

#dump方法
import json
data = [ { 'a':'A', 'b':(2, 4), 'c':3.0 } ]
with open('output.json','w') as fp:
 json.dump(data,fp)

Decode解码为Python对象:

json.loads

以上给出了Python内置对象dump为json对象的操作,反过来,那如何从json对象decode解码为Python可以识别的对象呢?

用loads方法,当然这个是基于string的;如果是文件,可以用json.load方法。

#loads方法
decoded_json = json.loads(data_string)
print(type(decoded_json),decoded_json)

json.load

#load方法
with open('output.json') as fp:
 print(type(fp))
  
 loaded_json = json.load(fp)
 print(type(loaded_json),loaded_json)

Python里open(‘文件路径',‘读写模式')内建函数,作用是打开文件。

利用with代码块操作,便于管理上下文,当with代码块执行完时,内容会自动关闭并释放文件资源。

知识点补充:

数据类型对照表

python数据 json数据 dict object list, tuple array str, unicode string int, long, float number True true False false None null 单引号(') 双引号(")

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。