我将以下数据另存为NSString:
NSString
{ Key = ID; Value = { Content = 268; Type = Text; }; }, { Key = ContractTemplateId; Value = { Content = 65; Type = Text; }; },
我想将此数据转换为NSDictionary包含键值对的。
NSDictionary
我首先尝试将转换NSString为 JSON 对象,如下所示:
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
但是,当我尝试:
NSString * test = [json objectForKey:@"ID"]; NSLog(@"TEST IS %@", test);
我收到的值为NULL。
NULL
任何人都可以提出问题所在吗?
我相信您误解了JSON格式的键值。您应该将字符串存储为
NSString *jsonString = @"{\"ID\":{\"Content\":268,\"type\":\"text\"},\"ContractTemplateID\":{\"Content\":65,\"type\":\"text\"}}"; NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
现在,如果您遵循NSLog语句
NSLog(@"%@",[json objectForKey:@"ID"]);
结果将是另一个NSDictionary。
{ Content = 268; type = text; }
希望这有助于获得清晰的理解。