python中loads和dumps,load和dump的区别

一、json.dumps()

json.dumps()用于将dict数据类型转成str,因为如果直接将dict类型的数据写入json文件中会报错,因此在将数据写入时需要用到该函数。

import json
# data数据为json格式
data = {"psId":"974061","recvTime":20210517213000,"dataList":[{"msgTime":"20210517213000","devType":"41","devCode":"10010","chnnlId":"1","data":[{"val":200,"id":"58107"},{"val":"-0.31","id":"58106"},{"val":"5","id":"58109"},{"val":"38","id":"58108"},{"val":"40","id":"58103"},{"val":"0","id":"58102"},{"val":"-0.06","id":"58105"},{"val":"4.9","id":"58104"},{"val":"-500.0","id":"58101"}]}]}
print(type(data))
data_obj = json.dumps(data)
print(data_obj)
print(type(data_obj))
print(data)
print(type(data))
# 将data数据写入指定文件中
with open("json_data.txt","w") as f:
    f.write(data)

数据未转换为str类型写入文件,则会进行报错,报错信息如下:、
在这里插入图片描述

二、json.loads()

用于将str类型的数据转换为dict

import json
with open("1.txt","r") as f:
    for line in f:
        print(type(line))   #str类型
        print(type(json.loads(line)))   # dict类型

三、json.dump()

import json
# data数据为json格式
data = {"psId":"974061","recvTime":20210517213000,"dataList":[{"msgTime":"20210517213000","devType":"41","devCode":"10010","chnnlId":"1","data":[{"val":200,"id":"58107"},{"val":"-0.31","id":"58106"},{"val":"5","id":"58109"},{"val":"38","id":"58108"},{"val":"40","id":"58103"},{"val":"0","id":"58102"},{"val":"-0.06","id":"58105"},{"val":"4.9","id":"58104"},{"val":"-500.0","id":"58101"}]}]}
json.dump(data,open("1.txt","w"))

四、json.load()

json.load()用于从json文件中读取数据。

import json
content = json.load(open("1.txt"))   # 该文件只能有一行
print(type(content))

版权声明:本文为wanghuiqin229原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。