/ / Ako dekódovať uniknutý vstup JSON z Facebooku v Pythone? - python, json, facebook, unicode, kódovanie

Ako dekódovať unicode JSON unikol vstup z Facebooku v pythone? - python, json, facebook, unicode, kódovanie

Na načítanie niektorých informácií od používateľov používam facebookové rozhranie FQL. Práve som narazil na pole, ktoré neviem dekódovať.

Jeden používateľ má nasledujúce current_location lúka:

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}"

Pri pokuse json.loads() zlyhá *** ValueError: No JSON object could be decoded.

Snažil som sa dekódovať pomocou niekoľkých možností, ale nezdá sa mi, že by som našiel tú správnu možnosť.

Máte nejaké riešenie, ako pristupovať k problému?

odpovede:

2 pre odpoveď č. 1

Ty robíš nie mať tam dáta JSON, máš a krajta reťazcový literál tam.

použitie ast.literal_eval() znova získať objekt 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 Lexf3n, Spain", "zip": "", "country": "Spain", "longitude": -4.7, "state": "Castilla y Leon", "latitude": 40.65, "id": 113972385284243}

Najprv sa musíte pozrieť na to, ako ste dostali tento reťazec. Mám podozrenie, že ste uložili repr() výstup json.loads() výsledok niekde.