Size: a a a

2020 June 10

V

Vladislav in SwiftBook
deliverTo: String? = “19:00”
источник

MG

Mark Gromov in SwiftBook
c0nstruct0r
вот такой json. только поле deliverFrom и deliverTo не в каждом элементе массива есть
Попробуй через init(from decoder: Decoder)
источник

MG

Mark Gromov in SwiftBook
Там есть nested container
источник

c

c0nstruct0r in SwiftBook
Vladislav
deliverTo: String? = “19:00”
то есть придется дополнительно обрабатывать optional. причем не понятно пока где это правильно делать: то ли в модели, то ли во viewController
источник

V

Vladislav in SwiftBook
c0nstruct0r
то есть придется дополнительно обрабатывать optional. причем не понятно пока где это правильно делать: то ли в модели, то ли во viewController
Если хочешь чтобы сразу без опционала было,  выше ответ смотри
источник

c

c0nstruct0r in SwiftBook
Vladislav
Если хочешь чтобы сразу без опционала было,  выше ответ смотри
какой из них? ))
источник

V

Vladislav in SwiftBook
Mark Gromov
Попробуй через init(from decoder: Decoder)
Этот
источник

V

Vladislav in SwiftBook
Там придётся разобраться
источник

AB

A B in SwiftBook
А сейчас swiftyjson уже никто не использует? Все на перешли на нативный парсинг json ?
источник

c

c0nstruct0r in SwiftBook
c0nstruct0r
Коллеги, подскажите пожалуйста как парсить json в котором нет ключей? Можно ли как-то заставить decodable выставить значения по умолчанию? а то я получаю ошибку вида

No value associated with key CodingKeys(stringValue: \"deliverFrom\", intValue: nil
потму что в json нет такого ключа.

var deliverFrom, deliverTo: String?

func getDeliverTo() -> String {
   var string: String = ""
   if (deliverTo != nil) {
       string = "\(self.deliverTo ?? "")"
   }

   return string
}

в уроках про такой случай к сожалению не сказано ((
есть вот такое решение, но не уверен что оно хорошее. ИМХО должно быть как-то проще

https://stackoverflow.com/questions/61490859/how-to-read-a-json-on-swift-with-null-keys-and-using-default-values/61597812
так тут на stackOverflow как раз через init вариант описан, если я не ошибся
источник

V

Vladislav in SwiftBook
Vladislav
deliverTo: String? = “19:00”
Я бы использовал такой вариант и не парился
источник

c

c0nstruct0r in SwiftBook
Vladislav
Я бы использовал такой вариант и не парился
с таким вариантом мы получаем optional который при вывое в TableViewCell придется unwrap. и так для каждого щзtional поля. то есть приведения типа в любом случае нао делать, только не ясно где это делать правильно. Имхо в модели один раз чтобы потом везде 100р не менять
источник

V

Vladislav in SwiftBook
c0nstruct0r
с таким вариантом мы получаем optional который при вывое в TableViewCell придется unwrap. и так для каждого щзtional поля. то есть приведения типа в любом случае нао делать, только не ясно где это делать правильно. Имхо в модели один раз чтобы потом везде 100р не менять
как вариант
источник

c

c0nstruct0r in SwiftBook
это да, но если я передаю туда более понятное то придется

cell.TimeLabel.text = "с \(self.orders[indexPath.row].deliverFrom) до \(self.orders[indexPath.row].deliverTo)"
источник

AB

A B in SwiftBook
Мне кажется вы смешиваете понятие парсинг json и его обработку, и пытаетесь запихнуть все в одну структуру. Если поля нет в json, значит его нет, а что с этим делать уже должна решать другая сущность ИМХО
источник

c

c0nstruct0r in SwiftBook
A B
Мне кажется вы смешиваете понятие парсинг json и его обработку, и пытаетесь запихнуть все в одну структуру. Если поля нет в json, значит его нет, а что с этим делать уже должна решать другая сущность ИМХО
возможно. а как правильно тогда?
источник

ЕК

Евгений Ковалевский... in SwiftBook
c0nstruct0r
Коллеги, подскажите пожалуйста как парсить json в котором нет ключей? Можно ли как-то заставить decodable выставить значения по умолчанию? а то я получаю ошибку вида

No value associated with key CodingKeys(stringValue: \"deliverFrom\", intValue: nil
потму что в json нет такого ключа.

var deliverFrom, deliverTo: String?

func getDeliverTo() -> String {
   var string: String = ""
   if (deliverTo != nil) {
       string = "\(self.deliverTo ?? "")"
   }

   return string
}

в уроках про такой случай к сожалению не сказано ((
есть вот такое решение, но не уверен что оно хорошее. ИМХО должно быть как-то проще

https://stackoverflow.com/questions/61490859/how-to-read-a-json-on-swift-with-null-keys-and-using-default-values/61597812
Разобрался?
источник

ЕК

Евгений Ковалевский... in SwiftBook
c0nstruct0r
возможно. а как правильно тогда?
Скинь просто скрин ответа с постмена, сразу смогу решить проблему
источник

c

c0nstruct0r in SwiftBook
c0nstruct0r
вот такой json. только поле deliverFrom и deliverTo не в каждом элементе массива есть
Вот скрин ответа
источник

ЕК

Евгений Ковалевский... in SwiftBook
c0nstruct0r
вот такой json. только поле deliverFrom и deliverTo не в каждом элементе массива есть
Так в чем проблема)
источник