
Комментарии 33
Пожалуйста: https://jsoneditoronline.org/
пользуюсь - даже не вспомню сколько, больше 8 лет точно
Кроссплатформенно, можно расшарить и поделится ссылкой, есть куча других фишек. и бесплатно
не грузится без впн чета
Да, пользуюсь этим редактором, но вот незадача без впн у меня не открывается, и редактирования табличного как в excel там тоже нет, а эту штуку обязательно попробую, потому что тоже часто сталкиваюсь с редактированием json
Спасибо за полезный источник, подгляжу идеи для своего решения. Стал задумываться о веб версии
Без VPN недоступен, но можно использовать этим: https://jsonformatter.org/json-editor
Есть оптимизация под большие json?
А еще удобная фича при работе с Json файлами - это иметь возможность сравнивать однотипные json файлы( имеющие схожую структуру), но с разными данными. Сравнивать , сразу же редактировать и сохранять если надо. Когда Таких файлов больше чем два. Загружаешь в программу 3-4-5 разных файлов и сразу видишь отличия. Очень полезная функция. Когда надо сравнить два файла - это легко. а вот 3 и больше уже сложности.
Спасибо за статью. Концептуально, приложение правильное и нужное, но лично мне для моих нужд не хватает панели навигации по файлам – неудобно открывать файлы по одному, хотелось бы иметь возможность выбрать конкретную папку (директорию проекта) и внутри нее увидеть структуру вложенных директорий и все json’ы в них в виде дерева. Ну и чтобы дальше во время работы можно было оперативно переключаться между файлами в этом дереве.
https://marketplace.visualstudio.com/items?itemName=c3n9.crafthub вот выпустил extension
Здорово! Можете, пожалуйста создать issue на github, чтобы я не забыл об этом. Идея очень крутая
забыл сказать, есть возможность мульти выбора файлов, они сами раскидаются по воркспейсам, но выгружать придется все равно по одному
Больше всего в таких штуках нехватает линковки, по этому приходится писать собственные редакторы для контента игр.
Самое простое - в игре у сущностей обычно есть какой-то id (uuid например). Дальше сущности могут ссылатся друг на друга по этим id. К примеру есть 2 сущности: fireball и hero. У "hero" может быть свойство "attackMagic: {uuidOfFireball}"
Было бы круто иметь какой-то meta файл, где для редактора можно было бы расписать relations между сущностями их их тип (1к1, 1кN, NxN и т.п., как в БД), а также какие поля использовать как title для id.
А визуально редактор уже бы рисовал такие поля как enum (selectbox, multibox и т.п.).
в целом идеальный пример редактора - это DataTable / DataBlueprint / FSturct из unrealEngine. Там внутри это сохраняется в бинарном виде с кучей мусора - но сами редакторы данных - супер удобные.
Да, раньше в версии wpf была в зародыше похожая штука, думаю в ближайшее время ее доразвить. Можешь создать issue в репозитории, чтобы я со своим рабочим графиком не забыл. Идея топ, согласен будет мега удобно при разработке
Кажется, что такие штуки лучше делать в виде плагинов для редакторов, чтобы не городить велосипед с синтаксисом или навигацией по файлам.
Делал в каком-то смысле похожую штуку для игры Space Station 14 в виде плагина для VSCode: игровые прототипы и сущности ECS задаются декларативно на YAML, а потом конструируются в рантайме на C#. Демки и описание есть в readme: https://marketplace.visualstudio.com/items?itemName=slava0135.robust-yaml
Ого! Уж не думал что встречу это название здесь, так ещё и разработчика плагина для разработчиков) Зарегался только чтобы сказать Спасибо.
вот, решил тоже сделать свой extension https://marketplace.visualstudio.com/items?itemName=c3n9.crafthub
Почему нет Portable варианта? Стараюсь лишний раз не захламлять систему лишними установками. Как минимум "на попробовать" точно.
Для теста решил загрузить json который формируется при сборке проекта - CraftHub.deps.json.
Относительно небольшой json 28кб, всего 376 полей, но открывается очень долго. У меня он открывался 10 секунд. Решил глянуть в чем дело. А оказалось что оно для каждого добавленного при импорте json поля вызывает RebuildColumns. То есть для открытия этого json оно 378 раз создало и удалило все колонки в датагриде. Один раз при создании vm, 376 раз при OnPropertiesChanged, и еще один раз при OnColumnsChanged. Большой json такой программкой будет открываться, вероятно, очень долго.
А все потому что в ImportFromPathAsync
foreach (var field in mappedFields)
Properties.Add(new JsonPropertyDefinition { Name = field.FieldName, FieldType = field.SelectedType });Мне нравится ваше замечание, добавил ObservableCollection с отложенным уведомлением об изменениях, что позволяет перестроить 1 раз, а не на каждое уведомление
https://github.com/c3n9/CraftHub/blob/master/CraftHub/Helpers/BulkObservableCollection.cs
FYI В Visual Studio можно вставить JSON или XML сразу в виде C# классов, VS генерирует классы автоматически. Меню Edit - Paste Special - Paste JSON as Classes
А вы не пробовали уже существующие редакторы данных/JSON для Unity?
https://assetstore.unity.com/packages/tools/visual-scripting/charon-game-data-editor-95117
CraftHub — или как я устал редактировать JSON вручную и написал редактор