iOS:NSError (JSON) 到 NSMutableDictionary
Posted
技术标签:
【中文标题】iOS:NSError (JSON) 到 NSMutableDictionary【英文标题】:iOS: NSError (JSON) to NSMutableDictionary 【发布时间】:2013-12-17 20:58:13 【问题描述】:我正在调用一个块,我需要将错误(返回 JSON)转换为 NSDictionary。
代码:
[endPoint updateModel:self.model withDomain:A_DOMAIN successBlock:^
errorBlock:^(NSError *error)
NSLog (@"Logging Error: %@", error);
];
日志:
2013-12-17 12:50:43.190 testApp[79103:70b]Logging Error: [Line 27] response string - ["value":"sdfdsfewr","validator":"pattern","property":"profile.location.zip","expected":null,"message":"not a valid format ZIP code"]
我想将 *error 转换为 NSDictionary?谢谢
【问题讨论】:
endPoint
是一个什么样的对象,updateModel:withDomain:
方法是从哪里来的?
我相信 endPoint 是一个用于在 JSON 中与后端对话的块。
您使用什么框架与后端通信? - 您在 NSLog 输出中看到的是错误 description。有了关于所用方法的更多信息,就有可能提取 JSON 部分。
在从 JSON 转换之前,您需要去掉“[Line 27] 响应字符串 -”。
热舔。那成功了。谢谢。如果您想输入作为答案,我会将其标记为正确。
【参考方案1】:
“错误”对象的日志看起来不像 NSError 对象,而是看起来像某种字典。也许它是一个 JSON 填充的 NSString?在这种情况下,您需要使用此处所述的 NSJSONSerialization 将其转换为 NSDictionary:
NSJSONSerialization from NSString
【讨论】:
【参考方案2】:来自您的响应字符串,即:
["value":"sdfdsfewr","validator":"pattern","property":"profile.location.zip","expected":null,"message":"not a valid format ZIP code"]
.
它看起来不像一个 NSError 对象。但我正在考虑你有正确的 NSError 对象并回答你的问题,有一种非常简单的方法可以从 NSError 中获取字典,如下所示 -
NSDictionary *jsonDictionary;
NSError *error = 'error to be converted to dictionary';
jsonDictionary = error.userInfo;
希望这能回答你的问题。
【讨论】:
目前不需要此答案,因为它是在 2013 年提出的。它也没有正确描述问题。如果你能看到,OP 已经在 cmets 部分得到了正确答案。以上是关于iOS:NSError (JSON) 到 NSMutableDictionary的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Objective-C 的 init 中包含 NSError** 作为参数吗?
如何将 json 从 iOS 设备发送到 Rails 服务器
Facebook iOS SDK 3.2.1 - [NSError fberrorShouldNotifyUser]:无法识别的选择器发送到实例