【问题标题】:converting NSJSON to NSDictionary and how to get values将 NSJSON 转换为 NSDictionary 以及如何获取值
【发布时间】:2018-01-23 06:12:07
【问题描述】:

这是来自响应的 NSJSON。

[{"code":"000","msg":"normal","data":
     [{"_master_id":"",
       "_locale":"kr",
       "c_url":"http://###.co.kr/##",          
       "c_server_ip":"###.co.kr",
       "c_server_port":"#####",
       .........
     }]
}]

我使用这个

将此 NSJSON 转换为 NSDictionary
NSDictionary *recivedDictionary = [NSJSONSerialization JSONObjectWithData:data
                                                                  options:NSJSONReadingMutableContainers
                                                                    error:&error];

然后变成这个

[{
    code = 000;
    data =     (
                {
            "_locale" = kr;
            "_master_id" = "";
            "c_url" =  ####
            .....             
     }
  );
   msg: ####;
}]

双引号不见了。 我想从字典中获取数据,但无法使用

从字典中获取值
let RESP_DATA : NSDictionary? = foo.object(forKey: "data") as?NSDictionary
RESP_DATA == nil, true

如何从字典中获取“数据”??谢谢

【问题讨论】:

  • 在您的回复中,data 是数组而不是字典
  • 您的 JSON 以数组 NSArray *recivedDictionary 开头,而不是 NSDictionary *recivedDictionary
  • 但我不知道如何处理这些值。我必须将数据转换为 NSArray 吗??

标签: ios objective-c dictionary


【解决方案1】:

使用这个

NSDictionary * recivedDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options: NSJSONReadingMutableContainers error: &e][0]["data"][0];
if (recivedDictionary.count > 0 ) {
NSString * master_id = recivedDictionary["_master_id"];

}

【讨论】:

  • @Anbu.karthik 请检查编辑答案。
  • @Minsookim 检查编辑答案。
  • @dahiya_boy 我刚试过你的溶胶,实际上我在将 NSJSON 转换为 'NSDictionary as [AnyHashable : Any] 后得到了响应!'然后我'让receiveDic:NSDictionary = responseDictionary as NSDicionary'然后出现此错误消息“致命错误:在展开可选值时意外发现nil”
  • @dahiya_boy 我必须获得有关 swift 代码的值。我忘了
  • 对不起,我不知道 Objective-C 和 swift 字面意思.. 问题一点都不好
猜你喜欢
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多