ValueError("没有JSON对象可以被解码")Python googlemaps

时间:2015-09-04 05:13:21

标签: google-app-engine flask

我正在使用带有烧瓶(v0.10.1)和python(v2.7.5)的Google应用引擎(v1.9.24)。

我试图让googlemaps(v2.2)API与我的应用配合使用。

我知道返回的JSON格式错误,但我不知道为什么。

我的代码如下:

import googlemaps
gmaps = googlemaps.Client(key='API_KEY')
geocode_result = gmaps.geocode('6b, oko awo, victoria island, lagos')
return geocode_result

这很好用,但返回格式错误的JSON字符串(我通过在本地计算机上运行相同的代码来确认这一点。)

我使用JSON validator来验证它返回的JSON。而且由于JSON严重错误,我的烧瓶应用程序崩溃并给我一个ValueError。 我不知道如何解决这个问题,我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

问题不在于JSON。实际上,

gmaps.geocode('6b, oko awo, victoria island, lagos')

根本不返回JSON,它会返回一个列表,其中包含the google docs中记录的“结果”值,因为您可以在googlemaps库的源代码中看到here。< / p>

实际返回的是填充数据的列表对象。此列表中的所有字符串值都是unicode字符串。这意味着它们看起来像u'hello'而不是普通的"hello"(注意双引号),json.loads()期望(我假设你正在尝试加载JSON)。

这可能意味着您正在尝试解决不存在的问题。您不必加载JSON,因为它已经是一个python列表对象。

您可以执行

确认
json.loads(json.dumps(geocode_result))

它工作正常,这意味着JSON结构没有问题。