powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Идеи как реализовать систему автозаполнения очень структурированного json-а?
21 сообщений из 21, страница 1 из 1
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648306
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть жирный и очень структурированый json с большим количеством полей.

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

Правила предположения могут меняться. Хотелось бы держать это как-то отдельно и в виде понятном не очень техническим людям. По возможности менять на лету.

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

Что думаете, как это лучше реализовать?
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648318
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Domain Specific Language
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648324
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

а какой именно?
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648385
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerа какой именно?
Domain Specific же. Обычно, это не какой-то конкретный, а разработанный под вашу задачу. Но так как "менять на лету и пользователями" это, в рельности, из области фантастики, то DSL можно даже в виде Java API реализовать. Суть в том что то в каком виде ваши пользователи\клиенты формируют требования ложилось бы на Java API очевидным образом. Тогда времени бы на конвертирование требований в реализаию уходило бы минимум.

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

А вот делать что-то самим пользователям я бы давал только в том случае если у них есть ресурсы на тестирование того что они делают. Иначе то что пользователи накосячат станет вашей проблемой.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648526
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestionerа какой именно?
Domain Specific же. Обычно, это не какой-то конкретный, а разработанный под вашу задачу. Но так как "менять на лету и пользователями" это, в рельности, из области фантастики, то DSL можно даже в виде Java API реализовать. Суть в том что то в каком виде ваши пользователи\клиенты формируют требования ложилось бы на Java API очевидным образом. Тогда времени бы на конвертирование требований в реализацию уходило бы минимум.

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

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

Хочется сделать как-то попроще. Человеколет разработки не заложено на это. Тестирования тоже особо скурупулёзного не будет. Свой DSL писать выглядит слишком сложно. Для каких-то полей можно будет задать константы, для каких-то это будет сумма других значений.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648530
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerСвой DSL писать выглядит слишком сложно. Для каких-то полей можно будет задать константы, для каких-то это будет сумма других значений.
Ну, конфиг в формате JSON + Eval для значений. Работы на 3-4 часа. Это и будет твой DSL.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648544
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczquestionerСвой DSL писать выглядит слишком сложно. Для каких-то полей можно будет задать константы, для каких-то это будет сумма других значений.
Ну, конфиг в формате JSON + Eval для значений. Работы на 3-4 часа. Это и будет твой DSL.

А можно пример конфига?
Как в нём вычислять значения?
Как показывать, что этот eval должен быть использован для вычисления какого-то конкретного поля?
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648549
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
{
  fieldA: fieldB+fieldC,
  fieldB: 4,
  fieldC: fieldD.sub,
  fieldD: {
    sub: 5   
  }
}
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648553
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Можно даже на JS написать что-то похоже, где вычисления будут через функции. Потом только проблема в мерже двух объектов - дефолтного и нового.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648565
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
{
  fieldA: fieldB+fieldC,
  fieldB: 4,
  fieldC: fieldD.sub,
  fieldD: {
    sub: 5   
  }
}



Ну то есть для моего структурированного случая будет что-то типа

Код: java
1.
2.
3.
4.
{
  level1.level2.level3.....level12.fieldA: level1......level8.value+valueFromUserInput,
  ...
}





Blazkowicz Потом только проблема в мерже двух объектов - дефолтного и нового.


Вот тут не совсем понял о чем речь
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648574
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Ну и ещё там такие изыски есть, что если одно поле имеет значение "доллар", то другое поле расчитывается по одной формуле, если "евро", то дефолтная формула немного меняется.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648612
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЧеловеколет разработки не заложено на это.теория?
Вы хотите в json/xml/ini file запихать и формат и данные и бизнес логику и ГУИ.
Т.е. всю ИС забесплатно в файл и пусть Мария Ивановна там кодирует.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648622
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questionerЧеловеколет разработки не заложено на это.теория?
Вы хотите в json/xml/ini file запихать и формат и данные и бизнес логику и ГУИ.
Т.е. всю ИС забесплатно в файл и пусть Мария Ивановна там кодирует.

Практика.

Как сделать "платно", но не слишком сложно/долго? Но юзер должен иметь возможность модифицировать формулу.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerПрактикасомневаюсь.
У тебя прошлые топики не решены).
И этот не имеет дешевого решения.
Делай формочки классов и потом сериализация Модели в json.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648707
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему оптимальным решением был бы некий объект на JavaScript, где в вычислениях были бы функции, а методы применения этого объекта к структуре были где-то отдельно. Единственной сложностью я тут вижу обработку ошибочных ситуаций вроде цикличных зависимостей и неопределенных значений.

Так как JS язык очень гибкий и JSON для него родной - на нём это всё должно решаться просто.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648746
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123questionerПрактикасомневаюсь.
У тебя прошлые топики не решены).
И этот не имеет дешевого решения.
Делай формочки классов и потом сериализация Модели в json.


сомневайся, пожалуйста. Мне как-то по барабану.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648778
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

А почему не Excel?
Там все из "коробки".

А так я подобное делал для расчета KPI.
Использовал groovy для выполнении на java формул.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648784
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulquestioner,

А почему не Excel?
Там все из "коробки".

А так я подобное делал для расчета KPI.
Использовал groovy для выполнении на java формул.
Да, это выходит некий spreadsheet в виде JSON. Для юзеров, кстати, было бы удобно. Они могут заполнять в Excel, а решение просто прогоняет JSON объет через этот Excel. Нужен только маппинг структур.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39648828
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
У него не только формулы.
Вообще все что угодно обрисованное правилами валидации каждого нода.
И даже правила нескольких нод сразу (повтор и т.д.)
Нет ничего постоянного кроме формата.
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39649152
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mad_nazgul,
У него не только формулы.
Вообще все что угодно обрисованное правилами валидации каждого нода.
И даже правила нескольких нод сразу (повтор и т.д.)
Нет ничего постоянного кроме формата.

Если говорим за JSON, то типы строго определены

1. Строка
2. Объект
3. Массив

Если к нему добавить
4. Формула

То можно написать, получиться то что хочет ТС.

А "валидацию" можно навесить "формулами".
Единственная проблема, это "ссылка" на переменные, как ее обозначать.
Если дерево, то можно, как в *NIX файловых системах от корня "/" - абсолютный путь, или через "..", "." - относительный.

А так. Обычно если что-то делать "универсальное", то получается Excel :-)
...
Рейтинг: 0 / 0
Идеи как реализовать систему автозаполнения очень структурированного json-а?
    #39649168
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulА "валидацию" можно навесить "формулами".угу.
А отношения один ко многим обозначить как СобачкаРешеткаЦветочек.
ТС навешивает на формат передачи данных несвойственные ему задачи.
И сейчас уже новую тему начнет не закончив эту.

mad_nazgulА так. Обычно если что-то делать "универсальное", то получается Excel :-)
Согласен))).
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Идеи как реализовать систему автозаполнения очень структурированного json-а?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]