我正试图从python中对GoogleCSE进行API调用,然后将生成的对象处理成我可以处理的dictionary对象。我认为这个问题没有重复,因为我认为这里的问题是存在非ASC-II字符,导致结果对象的类型为“NoneType”,而结果json对象的类型为“null”。我已经使用了json文档中的选项,包括“确保ascii=False”,但没有成功。任何帮助都将不胜感激
代码:
import pprint, os, json
from googleapisclient.discovery import build
def search(searchkey,datekey,developkey,enginekey):
service = build("customsearch", "v1",
developerKey=developkey).cse().list(
q=searchkey,dateRestrict=datekey,
cx=enginekey,
).execute()
pprint.pprint(service)
mykey = 'My_Private_Key'
myengine = '009333857041890623793:z_drq9obxp0'
object2write = search('narco','20170101-20170201',mykey,myengine)
type(object2write)
jsonAbder = json.dumps(object2write, ensure_ascii=False, allow_nan=False)
print(jsonAbder)
导致错误的最接近的原因是
search
函数没有显式的return
语句。因此,它隐式地返回None
,它被编码成JSONnull
。您的问题与字符编码无关只需添加:
在你的功能结束时
相关问题 更多 >
编程相关推荐