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ď č. 1Ty 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.