如何将 NSString 值设置为 NSMutable 字典?
Posted
技术标签:
【中文标题】如何将 NSString 值设置为 NSMutable 字典?【英文标题】:How to set NSString value to NSMutable dictionary? 【发布时间】:2015-05-08 04:53:38 【问题描述】:我正在实现 Web 服务 API,数据内容类型是 JSON。请求的正文应该是字符串格式,即双引号,但是当我在字典中设置它时,我得到以下结果。谁能帮我将 NSString 设置为字典中的字符串值。
NSMutableDictionary *reqParams = [NSMutableDictionary new];
[reqParams setObject:@"Data.SourceStreamRequest"forKey:@"_type"];
NSMutableDictionary *reqParams1 = [NSMutableDictionary new];
[reqParams1 setObject:@"newmjpegdataSession"forKey:@"_type"];
NSLog(@"%@:%@",reqParams,reqParams1);
输出
"_type" = "Data.SourceStreamRequest";
:
"_type" = newmjpegdataSession;
谁能帮我弄清楚字典值用双引号和不带双引号显示的原因。 谢谢
【问题讨论】:
因为第一个包含.
。
如何将第二个字符串设置为字典中的 NSString。
它设置一个 NSString 而不是任何其他值。
我希望 newmjpegdataSession 为“newmjpegdataSession”,但经过多次试验我无法达到这个结果。如何将文本封装在“”中?
为什么需要将值封装在 "" 中?它仍然是一个 NSString。
【参考方案1】:
使用NSJSONSerialization
序列化您的字典。试试这个:
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
@"_type", @"Data.SourceStreamRequest",
@"_type", @"newmjpegdataSession", nil];
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:NSJSONWritingPrettyPrinted error:&error];
NSString *resultAsString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"json:\n%@", resultAsString);
输出:
json: "newmjpegdataSession" : "_type", "Data.SourceStreamRequest" : "_type"
【讨论】:
我得到了这样的 resultAsString 值 [“newmjpegdataSession”],我需要它作为字典值。更多对象应该是“newmjpegdataSession”,键应该是“_type” 这是我的要求: NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"newmjpegdataSession",@"_type",nil]; NSError *error;NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDictionary options:NSJSONWritingPrettyPrinted error:&error]; NSString *resultAsString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSLog(@"json:\n%@", resultAsString); NSMutableDictionary *reqParams1 = [NSMutableDictionary 字典]; [reqParams1 setObject:resultAsString forKeyedSubscript:@"keyvalue"];但 reqparams 不在预期结果中 我对 reqParams1 的预期结果是 "_type"="newmjpegdatasession" @SMS 我的答案是正确的,我不知道您要做什么,或者您是否正确实施了答案。以上是关于如何将 NSString 值设置为 NSMutable 字典?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NSString 值 @"3.45" 转换为浮点数?
iPhone:如何将 NSString 拆分为多行并将其设置为 UILabel? [复制]