关于python中使用json.loads()将字符串数据转换成字典

发布时间 2023-04-05 14:26:45作者: 520_1351

在json模块中,我们可以经常会用到 load()与loads(),其中两者的区别如下

json.load()从json文件中读取数据转抱为dict类型

json.loads()将str类型的数据转换为dict类型

这里笔者主要说明json.loads()的用法,将字符串转转换成字典,如下str2dict.py 脚本内容:

import json

JsonStr='''
{
 "ip_prefix": "3.2.34.0/26",
 "region": "af-south-1",
 "service": "AMAZON",
 "network_border_group": "af-south-1"
}
'''

JsonDict=json.loads(JsonStr)
print(type(JsonDict),JsonDict)

运行结果如下:

 

 

对于json文件,在之前的文章中,说了可以使用json.load()将其转换成字典类型的数据,也是推荐的用法

其实使用json.loads()也是可以的,需要先将文件的内容全部读取出来,先变成str字符串类型,多一步操作而已,还是如下,使用ip-ranges.json文件:

可以使用如下的代码进行处理

import json 

with open("ip-ranges.json") as f:
    FileStr=f.read()
    IpRangeContent = json.loads(FileStr)
    print(type(IpRangeContent),IpRangeContent)

说明:f.read() 可以把文件对象的全部内容一次性读到一个字符串中