如何使用python获取json中的特定元素

2024-04-26 17:56:38 发布

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

我想用python访问一个特定的元素,但我不能

import json
import requests

search_book = str(input("search a book: "))
request = requests.get("https://www.googleapis.com/books/v1/volumes?q=" + search_book)
request_text = request.text

data = request_text
print(data['items']['volumeInfo']['title'])

错误在于:

Traceback (most recent call last): File "C:/Users/ddvit/Documents/programming/python/books/books.py", line 9, in print(data['items']['volumeInfo']['title']) TypeError: string indices must be integers

提前非常感谢:)


Tags: textimportjson元素searchdatatitlerequest
2条回答

要以JSON的形式获取结果,您需要加载它json.loads(request.text),或者直接使用request.json()进行检索

那么items是一个数组,所以你不能直接访问信息

  • 你可以在上面迭代,然后得到标题

    data = request.json()
    for item in data['items']:
        title = item['volumeInfo']['title']
        print(title)
    
  • 直接访问一个

    print(data['items'][0]['volumeInfo']['title'])
    

从响应中获取原始文本时,请改用json()方法:

import json
import requests

search_book = str(input("search a book: "))
response = requests.get("https://www.googleapis.com/books/v1/volumes?q=" + search_book)
data = response.json()

相关问题 更多 >