ValueError(“没有JSON对象可以解码”)Python谷歌地图

ValueError(“没有JSON对象可以解码”)Python谷歌地图

问题描述:

我正在使用谷歌应用程序引擎(v1.9.24)与瓶(v0.10.1)和python(v2.7.5)。ValueError(“没有JSON对象可以解码”)Python谷歌地图

我试图让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。 我不知道这个方法,我会很感激任何帮助。

问题不在于JSON。其实,

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

不返回JSON可言,它返回包含“结果”的值作为the google docs记录,因为你可以在Google地图库的源代码见here列表。

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

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

您可以通过执行

json.loads(json.dumps(geocode_result)) 

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

+0

感谢您的提示。当我从python控制台运行代码时,它看起来工作得很好,但是当我从开发服务器运行它的时候它不起作用(那是它给出ValueError的时候)。 – Raymond

+0

需要更多信息。比如你还在尝试使用json验证器。显示错误所在的代码。 –