对于dict形式的字符串,有没有比较方便的方法转化为?

如题,有一个字符串是这样的
str = 'a:1,b:2,c:3'

dict = {}
for i in str.split(','):
    j = i.split(':'):
    dict[j[0]] = j[1]

以上代码可以做到,可是如果更复杂的数据结构来说就有点麻烦了
有没有方便的方法和库可以处理这类情况?

又比如说有一个字符串。格式和json数据比较类似,
比如
'{ a: 1, b: 2}' 是一个字符串
{ a: 1, b: 2} 是一个json数据
再比如
str = '{ a: 1, b: 2}'
怎么将这个字符串转化为json?


前面可能说的有点乱,简洁的来说,我就是想做到把一个格式符合dic或json的字符串,转化为dict或json格式。请问有没有比较方便的方法。

阅读 4.7k
3 个回答

eval()

如果你的数据是 JSON 的话,直接用 json.loads(s) 嘛。

前边那个例子我没看明白你的数据究竟长什么样,引号都不匹配。

python字典对汉语支持有缺陷,json模块对汉语支持也有缺陷。eval可能会引起安全问题,最好还是自己写个转化函数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题