python将字符串转变成dict格式

字符串的内容是字典,需将字符串转变成字典格式

 

s1 = '{"lid":2,"date":"20190211","type":"1,2","page":1}'  # dict的key和value用双引号
s2 = "{'lid':2,'date':'20190211','type':'1,2','page':1}"  # 单引号

print(type(s1),type(s2)) # <class 'str'> <class 'str'>

 

第一种方式 json.loads()   必须用双引号,否则会报错

import json
s11 = json.loads(s1)
print(s11,type(s11)) # <class 'dict'>

s22 = json.loads(s2) #报错jExpecting property name enclosed in double quotes 必须双引号
print(s22,type(s22))

 

 

第二种方式  eval()  -- 不安全。 用ast.literal_eval()替换

详细查看:http://www.php.cn/python-tutorials-376459.html

s33 = eval(s1)
print(s33,type(s33))

s44 = eval(s2)
print(s44,type(s44))

 

import ast
s55 = ast.literal_eval(s1)
s66 = ast.literal_eval(s2)
print(s55,s66,type(s55),type(s66))

 

posted @ 2019-02-11 14:11  dinghanhua  阅读(3664)  评论(0编辑  收藏  举报