python请求json返回单引号

eur*_*i10 1 python json python-requests

我正在玩谷歌地方api和请求

我有 :

r = requests.get(self.url, params={'key': KEY, 'location': self.location, 'radius': self.radius, 'types': "airport"}, proxies=proxies)
Run Code Online (Sandbox Code Playgroud)

r返回200代码,很好,但我对r.json()返回与r.content相比感到困惑

r.json()的摘录:

{u'html_attributions ':[],u'next_page_token':u'CoQC-QAAABT4REkkX9NCxPWp0JcGK70kT4C-zM70b11btItnXiKLJKpr7l2GeiZeyL5y6NTDQA6ASDonIe5OcCrCsUXbK6W0Y09FqhP57ihFdQ7Bw1pGocLs_nAJodaS4U7goekbnKDlV3TaL8JMr4XpQBvlMN2dPvhFayU6RcF5kwvIm1YtucNOAUk-o4kOOziaJfeLqr3bk_Bq6DoCBwRmSEdZj34RmStdrX5RAirQiB2q_fHd6HPuHQzZ8EfdggqRLxpkFM1iRSnfls9WlgEJDxGB91ILpBsQE3oRFUoGoCfpYA-iW7E3uUD_ufby-JRqxgjD2isEIn8tntmFDjzQmjOraFQSEC6RFpAztLuk7l2ayfXsvw4aFO9gIhcXtG0LPucJkEa2nj3PxUDl",u'results ':[{u'geometry':{u'location ':{U' lat': - 33.939923,u'lng':151.175276}},

而r.content的提取:

"{\n "个html_attributions":[],\n "个next_page_token":"CoQC-QAAABT4REkkX9NCxPWp0JcGK70kT4C-zM70b11btItnXiKLJKpr7l2GeiZeyL5y6NTDQA6ASDonIe5OcCrCsUXbK6W0Y09FqhP57ihFdQ7Bw1pGocLs_nAJodaS4U7goekbnKDlV3TaL8JMr4Xp

因此r.content具有双引号,如"正确"的json对象,而r.json()似乎已更改单引号中的所有双引号.

我应该关心它吗?我仍然可以很好地访问r.json()内容,只是想知道返回带单引号的对象的请求是否正常.

Bry*_*ley 8

json()方法实际上不返回JSON.它返回一个python对象(读取:字典),它包含与json数据相同的信息.当您将其打印出来时,为了便于阅读,会添加引号,它们实际上并不在您的数据中.

我应该关心它吗?

不.

  • 应该有人关心吗?或许。这取决于对输出执行的操作。如果在代码中进行进一步处理,则对字典进行操作可能会没问题。但是,如果输出发送到控制台、文件或其他需要使用双引号正确格式化 json 的工具:是的,您应该关心。(我想到了 json-prettify 工具)。 (2认同)

glm*_*ard 5

但是,您可以添加

jsonresponse=json.dump(requests.get(xxx).json())
Run Code Online (Sandbox Code Playgroud)

为了在 jsonresponse 中获得有效的 json。

  • 使用 ```json.dumps(resp.json())``` /sf/ask/3247777921/ (2认同)