Страница 1 из 1

cJSON: Теги для наборов метаданных

Добавлено: 23 Ноябрь 2024, 9:46
Игорь Столяров
Привет всем !

Ни в коем случае не настраиваю на разработке, но хочу поделиться наблюдением.
Разработчики REST сервисов очень любят применять в запросах наборы метаданных
(видимо у них есть какой-то внутренний тип для таких данных).

Т.е. конструкцию:

Код: Выделить всё

G_Request  Group,Type
...
metadata     Group,Dim(16)  ! Любые дополнительные данные, которые нужны вам для работы
name           String( 32)  ! Имя ключа 
value          String(512)  ! Значение ключа
             end
           end
Нужно формировать и передавать как объект JSON:

Код: Выделить всё

  metadata:{"name1":"value1","name2":"value2","name3":"value3" ... ,"name16":"value16"}
Очень сильно напоминает существующий объект OPTIONS для одного поля.
Но вот из-за этой мелочи приходится большие структуры данных формировать в JSON вручную (по тегам). :(

Может быть есть возможность как-то формировать такой объект внутри в json::CreateObject/Array() ?
Спасибо !

cJSON: Теги для наборов метаданных

Добавлено: 23 Ноябрь 2024, 17:29
Дед Пахом
Для начала можно было бы добавить пару новых json::CreateObject:

Код: Выделить всё

json::CreateObject  PROCEDURE(*GROUP[] grp, BOOL pNamesInLowerCase = TRUE, <STRING pOptions>), *cJSON
json::CreateObject  PROCEDURE(*QUEUE que, BOOL pNamesInLowerCase = TRUE, <STRING pOptions>), *cJSON
где grp и que - списки "key, value". Причём "value" не обязательно строка, а и число, и bool, и объект/массив.