我使用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