首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中处理json数据?

如何在python中处理json数据?
EN

Stack Overflow用户
提问于 2017-11-11 12:29:34
回答 2查看 255关注 0票数 0
代码语言:javascript
复制
# This code searches the query from googlecustomsearch api and returns data in json format   
import pprint
import json

from googleapiclient.discovery import build


my_api_key = "**************************************"
my_cse_id = "*************************************"

def google_search(search_term, api_key, cse_id, **kwargs):
    service = build("customsearch", "v1", developerKey=api_key)
    res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
    return res['items']


results = google_search(
    'Roshan Patel', my_api_key, my_cse_id, num=10)
for result in results:
    pprint.pprint(result)
    result_dict = json.loads(result)
    print result_dict['formattedUrl'] 

这是我得到的输出:

我只想获取url部分,例如:u‘’formattedUrl‘并将其存储在列表中,该如何操作?

新错误

代码语言:javascript
复制
Traceback (most recent call last):

  File "<ipython-input-38-eb898c8de239>", line 1, in <module>
    runfile('C:/Users/abc/untitled9.py', wdir='C:/Users/abc')

  File "C:\Users\abc\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 880, in runfile
    execfile(filename, namespace)

  File "C:\Users\abc\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)

  File "C:/Users/abc/untitled9.py", line 28, in <module>
    result_dict = json.loads(result)

  File "C:\Users\abc\Anaconda2\lib\json\__init__.py", line 339, in loads
    return _default_decoder.decode(s)

  File "C:\Users\abc\Anaconda2\lib\json\decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())

TypeError: expected string or buffer
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-11 12:58:24

您是否需要首先使用json模块将结果转换为Python对象(如dict ):

代码语言:javascript
复制
result_dict = json.loads(result)

现在你可以过滤你的字典了:

代码语言:javascript
复制
result_dict['formattedUrl']
票数 1
EN

Stack Overflow用户

发布于 2017-11-11 13:40:32

result不是JSON,而是一个实际的Python字典,所以只需:

代码语言:javascript
复制
print result[u'formattedUrl']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47234354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档