我寫了一些代碼將一個NS(可變)字典放入一個NSArray中。但是在將字典添加到數組後,它似乎爲每個鍵 - 值對創建單獨的字典。見下面的例子。如何將NSArray的NSDrayaries添加到AFJSONRequestSerializer請求中?
NSMutableDictionary *info = [[NSMutableDictionary alloc] init];
[info setObject:@"123" forKey:@"user_id"];
[info setObject:@"John" forKey:@"name"];
NSArray *array = [NSArray arrayWithObject:info];
NSMutableDictionary *htmlParams = [[NSMutableDictionary alloc] init];
[htmlParams setObject:array forKey:@"users"];
預期輸出:
{
"users": [
{
"user_id": 123,
"name": "John
}
]
}
我得到什麼:
{
"users": [
{
"user_id": 123,
}, {
"name": "John
}
]
}
我在做什麼錯?
感謝您的幫助!
編輯* 我試了一些更多的東西,似乎我認爲是什麼問題,但它仍然對我來說很奇怪。
有點背景:當我登錄NSDictionary時,我確實得到了預期的輸出。但是當我將它發送到我的後端時,它會被搞砸。
我創建新NSDictionaries(如對象常量):
1:
NSDictionary *info = @{
@[
@{
@"firstname": @"John",
@"lastname": @"Doe",
},
@{
@"firstname": @"Jane",
@"lastname": @"Da",
},
]
};
2:
NSDictionary *info = @{
@0: @{
@"firstname": @"John",
@"lastname": @"Doe",
},
@1: @{
@"firstname": @"Jane",
@"lastname": @"Da",
},
};
1:出錯時,所述陣列中的每一行被輸出爲在我的後端不同的字典。 2:表現如預期。
我不知道是什麼原因導致了這個問題,但我確定它不是我的包(AFNetworking),也不是我的後端(Symfony PHP)。
編輯*
看來我需要的JSON序列添加到我的請求。
AFJSONRequestSerializer *serializer = [AFJSONRequestSerializer serializer];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[serializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
manager.requestSerializer = serializer;
採取的NSMutableArray和ADDOBJECT進去然後設置數組字典 –
您的代碼看起來不錯,這是給預期輸出。 –
你的代碼非常好。它給你所期望的。 – Pushkraj