str类型转json,str类型转list


python str类型与json格式转换或者list格式转换


 

str转list:

import ast
#####方法一#####
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
list_datas_1 = eval(datas)
print(type(list_datas_1))
#####方法二#####
list_data_2 = ast.literal_eval(datas)
print(type(list_data_2))

str转json:

import json
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
dict_datas = json.loads(datas)
print(type(dict_datas))

list转str:

#####方法一#####
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
#引号中是字符之间的分割符
str_data_1 = ','.join(datas)
print(type(str_data_1))
#####方法二#####
#不会去除分隔符
str_data_2 = str(datas)
print(type(str_data_2))

json转str:

import json
datas = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}'
dict_data = json.jumps(datas)
print(type(dict_data))

可能遇到的问题

list转str时,使用方法一,如果list里面不是字符串类型时会报TypeError: sequence item 0: expected str instance, int found
解决方法:改成字符类型
str转json类型时
datas_1 = '{"carname":"豫EB7822","simid":"13579246811","equid":"3070614105","username":"燕子","userphone":"13579246811"}' 
datas_2 = "{'carname':'豫EB7822','simid':'13579246811','equid':'3070614105','username':'燕子','userphone':'13579246811'}"
dict_1 = json.loads(datas_1)
dict_2 = json.loads(datas_2)
print(type(dict_1))
print(type(dict_2))
以上运行时会报错
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
因为因为字符串datas_2中,双引号在外围,单引号在内嵌,导致转换失败
需要转换的字符串需要注意,双引号在外围,单引号在内
解决方法:
将datas_2改成datas_1即可
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM