我正在尝试从python对Google CSE进行API调用,然后将生成的对象操作为我可以操作的字典对象。我认为这个问题没有重复,因为我认为这里的问题是有非ASC-II字符导致生成的对象为'NoneType'类型,结果json对象为'null'。我玩过json记录的选项,包括“ensure_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)
答案 0 :(得分:0)
您的错误的近因是您的search
函数没有明确的return
语句。因此,它隐含地返回None
,它被编码为JSON null
。您的问题与字符编码无关。
只需添加:
return service
在你的功能结束时。