मैं इस AFNetworking
समस्या का उपयोग कर इसे मेरे लिए {
है और }
तरह URL बनाने के लिए कैसे सोचा parameter
(यूआरएल (घुंघराले ब्रेसिज़ शामिल)
/api/sth.json?filter[condition]={"53891":[123],"53892":[123,124]}
तो मेरी कोड इस तरह दिखता है मैं उत्तीर्ण करने की आवश्यकता के निर्माण के लिए AFHTTPRequestOperation का उपयोग करना बना यह सरल):
[self GET:myUrl parameters:@{
@"filter" : @{
@"condition" : @{
@"53891" : @[@(123)],
@"53892" : @[@(123),@(124)]}
},
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
success(operation,responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
failure(operation,error);
}];
लेकिन यह उम्मीद नहीं उत्पादन है उत्पादन:
/api/sth.json?filter[condition][53891][]=123&filter[condition][53892][]=123&filter[condition][53892][]=124
parameters
में AFHTTPRequestOperation
में ऐसा करने का कोई तरीका है या मैन्युअल रूप से मुझे इसे स्ट्रिंग में रखना होगा?
संपादित करें:
मेरे वर्तमान समाधान है कि तरह है:
+(NSString*)convertFromDictionary:(NSDictionary*)dic {
NSMutableString *outputStr = [NSMutableString new];
[outputStr appendString:@"{"];
NSArray *allKeys = [[dic allKeys] sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:nil ascending:NO]]];
for(NSString *key in allKeys) {
NSArray *objects = dic[key];
[outputStr appendString:[NSString stringWithFormat:@"\"%@\":[",key]];
for(NSNumber *nb in objects) {
[outputStr appendString:[NSString stringWithFormat:@"%li",[nb longValue]]];
if(![nb isEqual:[objects lastObject]]) {
[outputStr appendString:@","];
} else {
[outputStr appendString:@"]"];
}
}
if(![key isEqual:[allKeys lastObject]]) {
[outputStr appendString:@","];
}
}
[outputStr appendString:@"}"];
return outputStr;
}
कहाँ इनपुट शब्दकोश है: @{@"53892" : @[@(123),@(124)]}
लेकिन यह अधिक स्ट्रिंग तुलना की तुलना में कुछ भी नहीं है। AFNetworking के साथ इसे प्राप्त करने के लिए कोई और चालाक तरीका नहीं है क्योंकि यह काफी मानक यूआरएल पैरामीटर है?
आप 'setParameterEncoding' विधि के साथ अपने ग्राहक को' AFJSONParameterEncoding' सेट है: मेहुल जैसा कि पहले कहा, (स्ट्रिंग के लिए अपने मूल्य परिवर्तित) "पैरामीटर" शब्दकोश बनाने से पहले अपनी पैरामीटर "हालत" serializing की कोशिश? – Niko
हाँ, काम नहीं किया – Kuba