Size: a a a

2020 February 17

АП

Александр Парамонов in Go-go!
)
источник

x

x-foby in Go-go!
а кто это
только из-за одного клиента менять апи?
Не из-за клиента, а из-за глупого апи
источник

ЛА

Локоть Анатолий in Go-go!
Daniel Podolsky
по первому байту - { или [
Спс
источник

АП

Александр Парамонов in Go-go!
Да это понятно, но по щелчку пальцев никто переделывать не будет
источник

а

а кто это in Go-go!
x-foby
Не из-за клиента, а из-за глупого апи
другие клиенты тоже придется переписывать, в зависимости от реализации
источник

а

а кто это in Go-go!
жсон валидный
источник

A

Aikidos in Go-go!
Александр Парамонов
Привет. Вот такая проблема - сервер возвращает json при ответе. В нём есть ключ с объектом. Если в нём нет ключей, то там пустой массив. Как это обработать?
Ответ с ключами: {"fields": {"field1": "value1", "field2": "value2"}}
Ответ без ключей: {"fields": []}
Структура в go:
type A struct {
Fields map[string]string `json:"fields"`
}

Если приходит массив, то Unmarshal возвращает ошибку json: cannot unmarshal array into Go struct field UserGetProfileResult.fields of type map[string]string
API на PHP?
источник

АП

Александр Парамонов in Go-go!
Да
источник

а

а кто это in Go-go!
Aikidos
API на PHP?
на любом скриптовом языке
источник

x

x-foby in Go-go!
Daniel Podolsky
по первому байту - { или [
Ну или так же в interface{} демаршалить, а потом через type assertion
источник

АП

Александр Парамонов in Go-go!
Думаю, надо апи поменять
источник

а

а кто это in Go-go!
x-foby
Ну или так же в interface{} демаршалить, а потом через type assertion
еще больше рефлекта
источник

P🐈

Pavel Tyavin 🐈 in Go-go!
Vladislav Milenin
Ну это изначально невалидный формат
`👍
источник

ЛА

Локоть Анатолий in Go-go!
а кто это
жсон валидный
Вадидный, но это не рест, хотя видимо намек был на него)
источник

x

x-foby in Go-go!
а кто это
другие клиенты тоже придется переписывать, в зависимости от реализации
Никто ещё даже не успел сказать, что там есть другие клиенты вообще. О чём речь?
источник

а

а кто это in Go-go!
x-foby
Никто ещё даже не успел сказать, что там есть другие клиенты вообще. О чём речь?
то что менять апи каждый раз когда вам что-то не нравится никто не будет
источник

а

а кто это in Go-go!
это не решение
источник

VM

Vladislav Milenin in Go-go!
а кто это
то что менять апи каждый раз когда вам что-то не нравится никто не будет
Апи пишется для клиентов
В конкретном случае допущена серьезная ошибка

Проще исправить ошибку чем каждый раз кастомный анмаршал на всех клиентах писать
источник

A

Aikidos in Go-go!
Тоже страдал в своё время. Ну, на PHP, вроде, это не такая тривиальная задача поправить (поправьте, пхп-разработчики, если я ошибаюсь). JSON_FORCE_OBJECT там может поломать работу с массивами. Я на клиенте разбирал этот случай, апи трогать не стали.
источник

АП

Александр Парамонов in Go-go!
Да, в пхп это все массивы
источник