Библиотека Delphi JSON для XE2 доступна для сериализации объектов
Там, кажется, есть несколько вариантов JSON для Delphi - есть ли рекомендуемая библиотека для использования с XE2? Я ищу совместное использование объектов между веб-приложениями Delphi XE2 и PHP. (сериализация и публикация объектов Delphi совместимым способом для веб-приложений PHP и десериализация из спокойного вызова PHP на стороне сервера Delphi)
6 ответов
Я знаю две библиотеки.
Встроенная библиотека и Super Object.
Я использую Super Object, поскольку он действительно прост в использовании.
Поддержка JSON * включена в XE2 (и XE). JSON
См. Эту ветку в SO для ссылки на статью Марко, объясняющую использование JSON и спокойных реализаций.
REST-серверы в Delphi XE с использованием DataSnap
- Примечание. Это действительно для версии Enterprise и выше.
В отличие от библиотек XML (OmniXML, NativeXml) lkJSON не предоставляет методов для сериализации экземпляров TObject / TPersistent с использованием RTTI напрямую, он требует специального кода для сопоставления значений свойств с объектом JSON.
Маршалинг поддержки SuperObject для Delphi 2010 и выше.
DWScript имеет модуль dwsJSON, который реализует быстрый синтаксический анализатор и запись JSON, он полагается не на RTTI/TPersistent, а на отображение с помощью пользовательского кода.
Библиотека с открытым исходным кодом delphi-oop включает мощный сериализатор. Он может использовать несколько бэкэндов (включая нативный DBXJSON, superobject, NativeXml) и может сериализовать / десериализовать практически все, что угодно. Еще немного информации доступно в вики проекта
Для справки: есть еще одна библиотека JSON, совместимая с Delphi7+ и FPC.
Это побочный проект mORMot и оптимизирован по скорости (были сравнения с SuperObject, хотя я не помню ссылку)