2010-09-23 56 views
2

我有一個產品/購物清單(包括產品對象的名稱,product_id等)在iPhone端。我希望將這個列表發送到服務器,在那裏我將比較服務器上的列表和來自iphone的列表(合併所做的更改並將合併列表發送回iphone)。我將如何通過HTTP POST發送填充對象的NSArray?

如何將我的數組通過HTTP POST發送到服務器?我知道你可能不能只是發 數組,你就必須將其存儲在XML或JSON可能..但我仍想 有一定的可能性之前,我開始編碼:)

謝謝事先,

LeWiOn

編輯:解決:)感謝您的幫助傢伙!

http://andyj.be.s79833.gridserver.com/blog/?p=65

+0

你*只能*發送數組(例如存檔NSKeyedArchiver),但它不會很好的互操作。 ;) – Wevah 2010-09-23 10:40:34

回答

4

的Json似乎是最好的選擇。 Xml很沉重,解析起來更復雜。 SBJson庫在串行化對象圖上做出了卓越的工作。我已經做了這樣的過程,但從來沒有嘗試將我的數組發送到服務器,相反,我比較了服務器和本地的散列,並根據需要下載了新版本。

祝你好運。

編輯 使用SBJSON庫,創建對象的JSON表示由像:

[myObject JSONRepresentation] 

SBJSON庫可以發現here

編輯: JSON是由性質一個數組或一個詞典的表示。如果你的對象是其中的一個,那麼一切都會正常運行,如果不是的話,你必須在你的對象中實現proxyForJson方法來序列化它。此方法應返回一個字典,其中的鍵是屬性名稱,值是屬性值。

+0

有關於如何從一個對象創建JSON的例子?感謝您的答案btw。 – Lewion 2010-09-23 12:34:46

+0

JSONRepresentation返回給我(null)。任何想法爲什麼?我的對象充滿了數據,雖然... – Lewion 2010-09-28 11:26:39

+0

Json本質上是一個數組或一個詞典的表示。如果你的對象是其中的一個,那麼一切都會正常運行,如果不是的話,你必須在你的對象中實現proxyForJson方法來序列化它。此方法應返回一個字典,其中的鍵是屬性名稱,值是屬性值。 – VdesmedT 2010-09-28 12:03:28