将 str
类型转换为 可处理的json
类型
在处理数据格式中,不是所有是数据都是该有的样子比如我们下面的数据(如下数据例子),实际的数据量可不止如此。
dats = [{'host': 'sh_sirliu_1', 'ip': '127.0.0.1'}, {'host': 'sh_sirliu_2', 'host': '127.0.0.2'},{'host': 'sh_sirliu_3', 'host': '127.0.0.3'}]
data = json.loads(dats)
print(data)
TypeError: the JSON object must be str, bytes or bytearray, not list
实际报的错误:
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
实际上这里就需要将数据格式转换成为我们可处理的数据格式 STR
转 JSON
使用json转字典是报错,因为里面不是双引号,此时使用eval则不会报错
# 转为数据格式
list1 = eval(data)
print(list1, type(list1))
# 转换为字符串类型,返回json
j1 = json.dumps(list1)
print(j1, type(j1))
# 转换为json字符串类型,最后就可以处理了
tt = json.loads(j1)
for i in tt:
print(i.get("zm"))
json.load(s)与json.dump(s) 的区别
json.load:
表示读取文件,返回python对象
json.dump:
表示写入文件,文件为json字符串格式,无返回
json.dumps:
将python中的字典类型转换为字符串类型,返回json字符串
json.loads:
将json字符串转换为字典类型,返回python对象
load
和dump
处理的主要是文件
loads
和dumps
处理的是字符串
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html