0

我正在从端点获取一些数据,响应如下所示:

{
    "count": 29772,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 29,
            "book_name": "Book title",
            "book_id": 70,
            "chapter_number": 1,
            "verse": "Text",
            "verse_number": 20,
            "chapter": 96
        },
        {
            "id": 30,
            "book_name": "Book Title",
            "book_id": 70,
            "chapter_number": 1,
            "verse": "Lorem ipsum",
            "verse_number": 21,
            "chapter": 96
        }
    ]
}

结构看起来不错:

struct SearchResults: Decodable {
    let count: Int
    let next: String?
    let previous: String?
    let results: [Verse]
    
}

但是,如何使用嵌套数组初始化此字典?我尝试了类似的东西

// here is the issue - what should the searchResults structure look like?
// to properly store the response 
var searchResults: [String: AnyObject] = [String: AnyObject]()

...
 let response = try JSONDecoder().decode(SearchResults.self, from: safeData)
DispatchQueue.main.async {
 self.searchResults = response // error here
}

但收到错误消息 Cannot assign value of type 'SearchResults' to type '[String : AnyObject]'

4

1 回答 1

0

将 searchResults 的类型从 [String: AnyObject] 更改为“SearchResults”

var searchResults : SearchResults?
于 2021-10-01T10:38:20.683 回答