У меня есть json файл:
{
"fields": {
"123456": {
"timestampValue": "2019-03-05T23:00:00Z"
},
"7895": {
"timestampValue": "2019-03-02T23:00:00Z"
}
},
"createTime": "2019-03-08T00:14:55.357221Z",
"updateTime": "2019-03-08T17:22:08.398718Z"
}
, и мне нужно получить следующие значения:
"123456" "timestampValue": "2019-03-05T23:00:00Z"
"7895" "timestampValue": "2019-03-02T23:00:00Z"
Мой код в файле DataLoader.swift:
import Foundation
public class DataLoader
{
@Published var userData = [UserData]()
init()
{
load()
//sort()
}
func load()
{
if let fileLocation = Bundle.main.url(forResource: "mydata", withExtension: "json")
{
do
{
let data = try Data(contentsOf: fileLocation)
let jsonDecoder = JSONDecoder()
let dataFromJson = try jsonDecoder.decode([UserData].self, from: data)
self.userData = dataFromJson
}
catch
{
print(error)
}
}
}
}
Мой код в файле UserData.swift:
import Foundation
struct UserData: Codable
{
var timestampValue: Date = Date()
var fields: String
}
И есть ошибка:
typeMismatch (Swift.Array, Swift.DecodingError.Context (codingPath: [], debugDescription: «Ожидается декодировать массив, но вместо этого найден словарь.», UnderError : nil)) []
Большое спасибо за помощь! :)