import json
import ast
'''
字符串轉字典的三種方法:1:eval 2:json 3:literal_eval
'''
# 1-1:字符串轉成字典---當字符串只有key的時候
string_a = 'name sex'
string_dict_b = {}.fromkeys(string_a).keys()
print('將字符串a轉換成字典b:',string_dict_b)
print('b的類型',type(string_dict_b))
# 1-2:字符串轉成字典---當字符串有key,也有value的時候----通過eval轉
string_a1 = '{"name":"lwy","sex":"girl"}' #必須用雙引號
print('a1的類型',type(string_a1))
string_dict_b1 = eval(string_a1)
print('將字符串用eval方式轉成字典b1是:',string_dict_b1)
print('b1的類型',type(string_dict_b1))
# 1-3:字符串轉成字典---當字符串有key,也有value的時候----通過json轉---json.loads
string_dict_b2 = json.loads(string_a1)
print('將字符串用json方式轉成字典b2是:',string_dict_b2)
print('b2的類型',type(string_dict_b2))
# 1-4:字符串轉成字典---當字符串有key,也有value的時候----通過literal_eval轉
string_dict_b3 = ast.literal_eval(string_a1)
print('將字符串用literal_eval方式轉成字典b3是:',string_dict_b3)
print('b3的類型',type(string_dict_b3))
# 2-1:字典轉字符串---json方式---json.dumps
dict_string_c1 = json.dumps(string_dict_b1)
print('將字典b1轉成字符串c1是:',dict_string_c1)
print(type(dict_string_c1))
# 2-2:字典轉字符串---強制轉換
dict_string_c2 = str(string_dict_b1)
print('將字典b1轉成字符串c2是:',dict_string_c2)
print(type(dict_string_c2))