由于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:]
我很想逃避它并且开心。
答案 0 :(得分:0)
尝试解析JSON,即第一个 {和最后一个} 之间的任何内容。
如果还不够,请提供更多详细信息。
答案 1 :(得分:0)
试试这个:
import asp
foo = ast.literal_eval(your_result)
这会将unicode对象转换为python字典,这是你的解决方案吗?