Комментарии 16
У меня возник вопрос: зачем, где, для решения каких задач это используется? Я думал, что JSON должен делать то, что находится в его имени - описывать объекты. Если у объекта есть поле/свойство с формулой - ОК, но зачем что-то высчитывать в самом JSON?
JSON тут описывает не результат, а правило. В игровом балансе куча производных характеристик: урон зависит от силы и уровня, HP — от телосложения и перков. Если хранить готовые числа, то правка одного коэффициента заставляет вручную переписывать десятки полей у сотен персонажей и предметов.
JSON тут описывает не результат, а правило
Я это и имел ввиду, когда писал, что формула может быть свойством объекта.
Я хочу сказать, что зачем что-то вычислять, если это может и не понадобиться потребителю, а если это 100% нужно, то зачем данные из которых вычисляется результат? Не знаю... Я в полной растерянности...
как один из примеров
Сам по себе проект любопытный, но с используемой вами терминологией я не согласен. JSON - это формат хранения данных: он не может быть “вычисляемым” или “считать сам себя”. Вычислениями занимается ваш движок формул, который просто хранит данные в виде JSON, и, насколько я понял, поддерживает не произвольный JSON, а один конкретный формат - массив структур. Если движок написан как следует, то не должно составить огромного труда добавить в него поддержку других форматов хранения, будь то XML, или CSV, или что либо еще.
Конечно, но никто не запрещает сделать его изменяемым и удобным, чтобы проще было редактировать данные.
Конечно, в будущем планирую расширять функционал на XML и CSV, дело времени.
Почему JSON? Проект был создан для товарищей и личных нужд, люди решили поддержать, решил расширять функционал.
Буду благодарен если создадите issue для CSV, я обязательно этим займусь, спасибо Вам!
Мне таких таблиц не хватает в *.md формат. Именно когда свойство является формулой.
Приходится назначать свойству ключ, а потом отдельно ещё и описывать разные состояния ключа.
Потыкал эту поделку, сырая:
открыл json на 2.5 КБ, в простое жрёт 20% CPU;
нельзя сменить тип колонки, нельзя поставить null;
вкладка JSON, панелька “Поиск” - не нажимаются кнопки “Вперёд”/“Назад”/“Закрыть”.
Советую автору оценить формат OpenAPI спеки - мне кажется, небольшая часть функционала у вас пересекается, особенно "ссылки на другие поля". Возможно что-то интересное подчерпнёте оттуда

JSON умеет считать сам себя — удобно, как в Excel, но без вранья с типами