我使用AFNetworking
與NSDictionary *parameters
一起創建請求。我的一個鍵值對的是空數組:將空數組傳遞給AFNetworking請求參數
NSMutableArray * array = [NSMutableArray new];
當我創造的參數,例如:收到
parameters = @{"ids": array, "name": "someName"};
服務器:
parameters = @{"name": "someName"};
爲什麼空數組鍵是去掉?
經過漫長的挖掘後發現問題出在NSMutableArray
的方法。
AFNetworking
在某個時刻使用NSMutableArray
的方法addObjectsFromArray:
。在Apple documentation中沒有提及,但如果數組爲空,則此方法不會添加任何內容。
當我用NSNull()
替換我的空陣列或帶有一個元素NSNull()
的陣列時,服務器根本沒有收到它。
任何人都知道它是如何發生的,或者如何解決這個問題?
用* [數組數]> 0替換數組?數組:[NSNull null] *,這將爲您的字典添加一個空對象。確保在後端處理它。 – Pawan 2015-02-23 10:31:27
但是'NSNull()'仍然被刪除...可以代替它嗎? – 2015-02-24 10:31:26
我想你應該首先向你的服務器人確認他/她願意接受的空對象還是空值。 – Pawan 2015-02-24 10:49:15