如何用Python修改JSON,仅保留title与description字段?
要解决这个问题,只需要修改trim_json函数,让它同时处理title和description字段,并且在description不存在时返回undefined。
修改后的代码如下:
import requests import json def trim_json(d): newd = {} newd['title'] = d['title'] # 使用get方法获取description,不存在时返回'undefined' newd['description'] = d.get('description', 'undefined') return newd def clean(): books = requests.get('https://openlibrary.org/authors/OL23919A/works.json') books_parsed = books.json() book_data = books_parsed['entries'] book_data = [trim_json(d) for d in book_data] print(book_data) return book_data
关键改动说明:
- 直接为
newd添加title字段(根据示例数据,所有条目都包含title,因此可以安全直接访问) - 使用字典的
get()方法获取description:这个方法会在键不存在时返回指定的默认值'undefined',避免了KeyError异常 - 移除了原来的循环,改为直接赋值,代码更简洁清晰
这样修改后,返回的结果就会同时包含title和description字段,没有description的条目会自动填充'undefined',完全符合你的需求。
内容的提问来源于stack exchange,提问作者rafaelHTML
相关产品推荐
相关产品推荐

