172 похожих чатов

Привет всем. Кто подскажет, как быть? Структура json содержит динамическое

поле, которое есть json. Вложеный JSON меняет поля динамически на api. Как его парсит через Encodable? Если нельзя явно понять тип поля и вообще их количество?

8 ответов

7 просмотров

Реализуешь протокол decodable вручную. Можно присылать например тип этого поля с бека, чтобы не тратить ресурсы на перебор типа данных.

Ivan-Rusin Автор вопроса
Anton Cherkasov
Реализуешь протокол decodable вручную. Можно присы...

Те единственным оптимальным решением на сторон клиента остается метод, который перебирает типы примитивные и каким-то чудным алгоритмом подбирает имена для полей в соответствии с необходимостью задачи?

Ivan Rusin
Те единственным оптимальным решением на сторон кли...

А кол - во инвариантов этого JSON какое - то конечное?

Ivan-Rusin Автор вопроса
Anton Cherkasov
А кол - во инвариантов этого JSON какое - то конеч...

Нет, поля добавляются по условиям на апи, например, зависит от прав пользователей.

Ivan Rusin
Нет, поля добавляются по условиям на апи, например...

Так прав же не бесконечное множество. Там точно нельзя описать все что может прийти?

Ivan-Rusin Автор вопроса
Evgenii <JonFir> Elchev
Так прав же не бесконечное множество. Там точно не...

Ого, Жень, не ожидал тут увидеть) Там полей порядка 30 штук. Можно, но не лучший вариант. Думал есть более лаконичное решение.

Это как раз лучший вариант)

Ivan-Rusin Автор вопроса
Evgenii <JonFir> Elchev
Это как раз лучший вариант)

Нужно провести исследование и выяснить на практике. Но конструкция будет большая...

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
32
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Кстати, что за тип булеана, который в памяти как 00 для фолса и 01 для тру отображается? Однобайтовый
Serjone
8
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта