Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 JSON Serializer/Deserializer  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10642
Посоветуйте библиотеку для JSON сериализации/десериализации.

Требование:
1. Умение работать с RTTI, чтобы можно было сериализовать/десериализовать готовые объекты
2. Правильно работать со строками (выгрузка в UTF-8 с экранированием служебных символов, загрузка с пониманием экранированных символов)
3. Умение работать с List<>
4. Умение работать с перечислимыми типами
5. Возможность добавления своих сериализаторов/десериализаторов для каких-то типов.

Сейчас взял JSON object serializer for Delphi от Clever Components.

У него подержка только первого пункта. 4 и 5 я добавил вручную. Из 5, следует работа с 3. 2 сейчас буду пилить.

Но, может есть, что более адекватное?

Наверное, даже устроит отсутствие поддержки RTTI при условии, адекватной работы остальных пунктов

С уважением, Vasilisk
16 май 18, 19:33    [21414759]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
stanilar
Member

Откуда: Спб
Сообщений: 761
В качестве предложения:

Может глянуть mormot? Он умеет как-то работать с json. Даже в виде запросов к БД. В запросах мне правда не удалось разобраться.
16 май 18, 19:45    [21414778]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
rgreat
Member

Откуда:
Сообщений: 4584
Родное чем не устраивает?

http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Serializing_User_Objects
16 май 18, 19:51    [21414788]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10642
rgreat
Родное чем не устраивает?
Не видел.

Завтра еще почитаю. А пока прикрутил к стандартному DBXJSON поддержку RTTI. Вроде, получается менее громоздко, чем использование DBXJSONReflect
16 май 18, 21:35    [21414899]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
krapotkin
Member

Откуда: Екатеринбург
Сообщений: 637
я всегда пользуюсь XSuperObject.
По сравнению с родным все сильно лучше.
17 май 18, 06:51    [21415515]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
krapotkin
Member

Откуда: Екатеринбург
Сообщений: 637
забыл сказать, родной JSON от XSO содержит \u
исправляю на лету этим https://bitbucket.org/vkrapotkin/unescapejson/src/master/
17 май 18, 07:01    [21415520]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10642
krapotkin
я всегда пользуюсь XSuperObject.
Как я понял, сериализацию для класса нужно писать вручную? С RTTI оно не работает?
17 май 18, 11:56    [21416458]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
krapotkin
Member

Откуда: Екатеринбург
Сообщений: 637
конечно работает
там же примеры на главной
https://github.com/onryldz/x-superobject
я все настройки программ всегда в JSON храню
чтение-запись одной строкой
17 май 18, 13:56    [21416977]     Ответить | Цитировать Сообщить модератору
 Re: JSON Serializer/Deserializer  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 912
это уже не сам SO, а скорее даже надстройка на него :)
17 май 18, 13:59    [21416990]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить