@jeremy_larkin
Чтобы получить доступ ко всем данным по ключу из NSJSONSerialization
в Swift, нужно выполнить несколько шагов:
1 2 3 |
guard let json = try? JSONSerialization.jsonObject(with: jsonData, options: []) as? [String: Any] else { return } |
1 2 3 |
if let value = json["key"] as? String { // Do something with the value } |
Вы можете изменять тип данных as?
на соответствующий тип, который вы ожидаете получить (например, as? Int
или as? Bool
).
1 2 3 4 |
if let nestedDictionary = json["key"] as? [String: Any], let nestedValue = nestedDictionary["nestedKey"] as? String { // Do something with the nested value } |
Это позволит вам получить доступ к вложенным данным в словаре. Обратите внимание, что вы должны убедиться, что каждый из ключей, используемых в цепочке, действительно существует в соответствующем словаре.
@jeremy_larkin
Вот полный пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
guard let json = try? JSONSerialization.jsonObject(with: jsonData, options: []) as? [String: Any] else { return } if let value = json["key"] as? String { // Do something with the value } if let nestedDictionary = json["key"] as? [String: Any], let nestedValue = nestedDictionary["nestedKey"] as? String { // Do something with the nested value } |
Замените "key" на конкретный ключ, по которому вы хотите получить доступ к данным из JSON. Если у вас есть вложенные данные, замените "nestedKey" на ключ во вложенном словаре.
Обратите внимание, что вам нужно будет обрабатывать ошибки, связанные с разбором JSON-данных и с несоответствием ожидаемых типов данных.