我正在使用 python 決議 APIresponseJson = json.loads(response.text)
API 回應有點像這樣:
- 在書籍中有單一條目時
{
"name": "A",
"books": {
"bookname": "BookA"
}
}
或 2. 書中有多個條目時
{
"name": "A",
"books": [
{
"bookname": "BookA"
},
{
"bookname": "BookB"
}
]
}
目前我正在使用:
if type(responseJson['books']) is dict:
bookName.append(responseJson['books']['bookname'])
# do a lot more stuff
else:
for val in responseJson['books']:
bookName.append(val['bookname'])
# do a lot more stuff
由于代碼(#do a lot more stuff)有點復雜,我一直在尋找一種優化的方法來做這件事,而不是依賴于 type()。
關于如何提高代碼質量的任何建議?
uj5u.com熱心網友回復:
我會使用isinstance而type不是使用不同的分支來做一堆事情,我只會尋找字典,如果找到 wrap 將它放在串列中,然后你只需要一個可以做事情的分支。
例如:
books = response.json['books']
if isinstance(books, dict):
books = [books]
for val in books:
bookName.append(val['bookname'])
# do alot more stuff
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515916.html
