2

我正在使用 FQL facebook 界面从用户那里检索一些信息。我刚刚遇到一个我不知道如何解码的领域。

一位用户具有以下current_location字段:

u'{"city": u"\\xc1vila", "name": u"\\xc1vila, Castilla y Le\\xf3n, Spain", 
"zip": "", "country": "Spain", "longitude": -4.7, "state": "Castilla y Leon", 
"latitude": 40.65, "id": 113972385284243}'

尝试json.loads()失败时*** ValueError: No JSON object could be decoded.

我尝试使用多个选项进行解码,但似乎找不到正确的选项。

关于如何解决问题的任何线索?

4

1 回答 1

2

那里没有JSON 数据,那里有Python字符串文字。

用于ast.literal_eval()再次获取 Python 对象:

>>> import ast
>>> value = u'{"city": u"\\xc1vila", "name": u"\\xc1vila, Castilla y Le\\xf3n, Spain", "zip": "", "country": "Spain", "longitude": -4.7, "state": "Castilla y Leon", "latitude": 40.65, "id": 113972385284243}'
>>> ast.literal_eval(value)
{'city': u'\xc1vila', 'name': u'\xc1vila, Castilla y Le\xf3n, Spain', 'zip': '', 'country': 'Spain', 'longitude': -4.7, 'state': 'Castilla y Leon', 'latitude': 40.65, 'id': 113972385284243}

您首先需要研究如何获得该字符串。我怀疑您将结果的repr()输出存储在json.loads()某处。

于 2013-09-17T19:05:05.427 回答