Post 从objective-c向web服务发布词典

Post 从objective-c向web服务发布词典,post,dictionary,Post,Dictionary,我的web服务api(POST)有一个参数,它接受这样一个dictionary对象 void MyMethod (Dictionary<string, List<string>> myDictionaryParam); API获取字典,但字典有0个键/值对 不用担心如何发布json数据……我已经涵盖了这一部分。我想知道如何从Objective C发布一个实际的dictionary对象。我不理解你的评论,你不是在发布dictionary,而是在发布json。那么这意味着什

我的web服务api(POST)有一个参数,它接受这样一个dictionary对象

void MyMethod (Dictionary<string, List<string>> myDictionaryParam);
API获取字典,但字典有0个键/值对


不用担心如何发布json数据……我已经涵盖了这一部分。我想知道如何从Objective C发布一个实际的dictionary对象。我不理解你的评论,你不是在发布dictionary,而是在发布json。那么这意味着什么:“如何发布实际的dictionary对象”?你在哪里把字典传给API?您的代码显示一个字典,然后将其转换为NSData,然后您对其中任何一个都不做任何操作。您是否在询问如何将字典传递给MyMethod而其内容不为0?如果是这样的话,那么显示该代码,而不是其他代码。就目前而言,你的问题很让人困惑。我知道你没有贴字典。发布JSON数据。我的问题是如何发布JSON数据,该数据将具有服务器可以理解的dictionary对象。您的NSData包含JSON,您可以使用NSURLSession发布该数据,正如您已经指出的那样。NSData包含包含字典内容的JSON。如果您的字典密钥与服务器期望的相同,并且服务器期望在jason中嵌入一个字典,那么服务器将理解它。是的。但问题是,在服务器上,我为字典获取了0个键/值对。我想你理解我的问题,但为了其他人,看看这个问题。我想对objective cWell做完全相同的操作。您确认数据变量实际上包含了什么吗?您可以将[data description]记录为字符串。您是否已检查seralizationError是否为零,如果不是,原因为何?换句话说,您做了什么来确认您正在发送一些json内容,而不仅仅是假设您正在发送。
NSMutableDictionary* dataDictionary = [[NSMutableDictionary alloc] init];
    [dataDictionary setObject:personIds forKey:"firstKey"];
    [dataDictionary setObject:personIds forKey:@"secondKey"];

    NSDictionary* dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:dataDictionary, @"myDictionaryParam", nil];


    NSError* seralizationError;
    NSData* data = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&seralizationError];