使用非ASCII字符操作JSON对象?

2024-06-17 08:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从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)

Tags: 对象importbuildjsonfalse类型searchservice
1条回答
网友
1楼 · 发布于 2024-06-17 08:27:03

导致错误的最接近的原因是search函数没有显式的return语句。因此,它隐式地返回None,它被编码成JSONnull。您的问题与字符编码无关

只需添加:

    return service

在你的功能结束时

相关问题 更多 >