我将以下数据另存为NSString
:
{
Key = ID;
Value = {
Content = 268;
Type = Text;
};
},
{
Key = ContractTemplateId;
Value = {
Content = 65;
Type = Text;
};
},
我想将此数据转换为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
。
任何人都可以提出问题所在吗?
我相信您误解了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;
}
希望这有助于获得清晰的理解。
问题内容: 我已经调用了百度的一个接口来检查id号,但是当我在模块中使用它来存储该属性然后打印该属性的类名时,在JSON中,返回的Sex值带有,而在JSON中没有“” 。我怀疑如何将其转换为字符串以使用它。有人有好主意吗? 问题答案: 已经是,它只是一个子类。您可以在无需转换的任何地方使用它。
问题内容: 如何转换,以使得只有一年 @“YYYY” 格式输出到字符串? 问题答案: 怎么样… Swift 4.2:
问题内容: 我有一个应用程序,用户可以从内置应用程序图像或iphone照片库中选择图像。我使用具有属性的对象场合来保存。 现在,对于内置的应用程序图像,我确实将文件名保存为。但是在第二种情况下,用户从照片库中选择一个图像,我得到了一个我想转换为的图像,以便将其保存在]中。 可以将转换为吗? 问题答案: 在Objective-C中: 在Swift中: 在文档中的更多信息:
问题内容: 我正在尝试将(Swift字典)转换为,以供以后在产生字符串的JSON库上使用 但不起作用 所有这些示例都不起作用。它们产生以下错误: 正确的做法是什么? 更新: 有效的代码 问题答案: 您必须像这样强制转换: 否则,在ex的方法中使用Swift字典和NSDictionary时,其处理方式几乎相同: 将完全正常工作。 更新后 如果将Dictionary值类型更改为非可选的String,则
问题内容: 这是我的职责 首先将正确的哈希值打印到控制台,但在下一行程序崩溃。你能帮助我吗? 问题答案: 返回如果数据不表示一个有效的UTF-8序列(这是非常可能的)。然后以下崩溃。 任意二进制数据的可能字符串表示形式可能是十六进制字符串或Base-64编码的字符串。 甲 Base64编码串 可以简单地获得与 据我所知,没有内置的方法可以将二进制数据转换为 十六进制字符串 。在Swift中可能的实
我从网络服务中获得日期,如“2012-07-03 07:26:48”。从webservice解析后,我已保存在NSString中。将NSString转换为下面代码中使用的NSDate时, NSLog值为“2012-07-03 01:56:48 0000”;我不知道为什么时间变了。谁能帮我做这个?