从字符串中提取python对象

时间:2014-09-24 06:05:15

标签: python json deserialization text-parsing

我的数据文件看起来像

{u'session_id': u'6a208c8cfada4048b26ea7811cbac20f'}

即键值对和具有键值对的对象数组,其形式为u'key' : u'value'

更具体地说,我看到的文件看起来就像在json.loads()文件上调用JSON后得到的文件。

我想知道如何将这些文件中的数据作为python对象或至少有效的JSON格式(some thing like reverse of json.loads())来获取,以便我可以执行obj['session_id']之类的操作并获取{{1 }}

提前致谢

1 个答案:

答案 0 :(得分:3)

您可以使用literal_eval模块中的ast,这比直接使用eval更好:

>>> ast.literal_eval("{u'session_id': u'6a208c8cfada4048b26ea7811cbac20f'}")['session_id']
u'6a208c8cfada4048b26ea7811cbac20f'
>>> z = ast.literal_eval("{u'session_id': u'6a208c8cfada4048b26ea7811cbac20f'}")
>>> isinstance(z, dict)
True