Создать массив дат из JSON - PullRequest
1 голос
/ 14 июля 2020

Я хотел бы создать массив дат (или кортежей, включая индекс и данные) из следующих JSON.

Мой код создает массив, но вместо создания массива дат , он разбивает даты на символы. Что мне нужно сделать, чтобы создать массив только дат.

JSON выглядит так:

let json = """
    [{"date":"2017-01-05",
     "price":119.34},{"date":"2017-01-06",
     "price":118.93}];

Код:

let myprices = try JSONDecoder().decode([Prices].self, from: Data(json.utf8))
let dates = myprices.sorted{$0.date < $1.date}.enumerated().map {Array($0.element.date)}

Код печатается в консоль как:

date [[«2», «0», «1», «7», «-», «0», «1», «-», «0», «5 «], [« 2 »,« 0 »,« 1 »,« 7 »,« - »,« 0 »,« 1 »,« - »,« 0 »,« 6 »], [« 2 », «0», «1», «7», «-», «0», «1», «-», «0»]]

Заранее благодарим за любые предложения.

1 Ответ

2 голосов
/ 14 июля 2020

Замените

let dates = myprices.sorted{$0.date < $1.date}.enumerated().map {Array($0.element.date)}

на

let dates = myprices.sorted{$0.date < $1.date}.map { $0.date }

В настоящее время вы можете сделать let data:String изменить его на let date:Date и предоставить форматтер для проверки декодера Это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...