Библиотека 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, хотя я не помню ссылку)

Другие вопросы по тегам