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