如何将unicode对象转换为字符串或python字典

时间:2014-05-16 22:27:51

标签: python unicode python-unicode

由于API call,我得到<type 'unicode'>的以下对象:

{"From":"en","Translations":[{"Count":0,"MatchDegree":100,"MatchedOriginalText":"","Rating":5,"TranslatedText":"Cómo estás"}]}

但是当我尝试用simplejson_loads()解析它时,我收到此错误:

simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

我该如何处理这类物品?

编辑II :JSON是正确的。搞乱事情的是字符串开头的BOM。试图用.encode('utf-8-sig')删除它会产生错误

UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 2: ordinal not in range(128)

this discussion中的某处我发现了一个对我有用的解决方案:

if u.startswith(u'\ufeff'):
  u = u[1:]

我很想逃避它并且开心。

2 个答案:

答案 0 :(得分:0)

尝试解析JSON,即第一个 {和最后一个} 之间的任何内容。

如果还不够,请提供更多详细信息。

答案 1 :(得分:0)

试试这个:

import asp

foo = ast.literal_eval(your_result)

这会将unicode对象转换为python字典,这是你的解决方案吗?