Я не могу декодировать файл JSON в Swift, даже если я мог прочитать его в объект данных - PullRequest
0 голосов
/ 14 июля 2020

Я новичок в Swift. Я создал простое терминальное приложение внутри Xcode, чтобы узнать о декодировании файлов JSON. Несмотря на то, что мне удалось прочитать файл в объекте данных, я не смог его декодировать для своей структуры:

Вот моя структура:

struct Person: Codable
{
    var name: String
    var surname: String
}

Вот мой простой JSON файл:

[
    {
        "name": "Abc", 
        "surname": "Def"
    }
]

А вот мой Swift-код для декодирования файла JSON:

let url = URL(fileURLWithPath: "/Users/abcd/Documents/test.json")

if let data = try? Data(contentsOf: url)
{
    print(data) // prints size (in bytes) the data correctly 

    if let person = try? JSONDecoder().decode(Person.self, from: data)
    {
        print(person) // did not printed
    }
}

1 Ответ

1 голос
/ 14 июля 2020

JSON содержит массив. Соответственно, вы также должны использовать его в своем коде:

if let persons = try? JSONDecoder().decode([Person].self, from: data)
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...