2011-10-11 62 views
13

Delphi中似乎有幾個JSON選項 - 是否有推薦使用XE2的庫?我正在尋找Delphi XE2和PHP Web應用程序之間的對象共享。 (以兼容的方式將PHP web應用程序序列化併發布delphi對象,以及從平穩的PHP調用到delphi服務器端的反序列化)針對XE2的Delphi JSON庫可用於對象序列化

回答

10

我知道兩個庫。

內置庫和Super Object

我使用超級對象,因爲它非常易於使用。

+0

謝謝 - 你用XE2試過了嗎? –

+1

是的,它工作正常。 –

11

JSON支持*包含在XE2(和XE)中。 JSON

在SO中查看此thread以獲得Marco提供的論文鏈接,解釋了JSON和平穩實現的使用。

REST Servers in Delphi XE Using DataSnap

  • 注:這是適用於企業及以上版本。
+4

D2010也包含DBXJSON,但它很重要(見[注](http://stackoverflow.com/questions/6217595/json-parse-result-from-virustotal-api/6218635#6218635)) –

5

不同於XML庫(OmniXML,NativeXml)lkJSON不提供方法直接使用RTTI序列化TObject的/ TPersistent情況下,需要自定義代碼的屬性值映射到一個JSON對象。

SuperObject支持Delphi 2010及更高版本的編組。

+1

你可以用SuperObject序列化 –

+0

@Robert ok,updated – mjn

5

DWScript有一個dwsJSON單元,它實現了一個快速的JSON解析器&編寫器,它不依賴於RTTI/TPersistent,而是通過自定義代碼進行映射。

2

開源代碼delphi-oop庫包含強大的序列化程序。它可以使用多個後端(包括本地DBXJSON,superobject,NativeXml),並且可以序列化/反序列化幾乎任何東西。一些更多的信息可用在項目的wiki