2016-11-30 20 views
0

我从客户端C中获取键值,但在快捷键中我不知道怎么办?如何检查nsdictionary中存在的快捷键swift并获得结果数组

NSDictionary *dictResult = [NSJSONSerialization 
           JSONObjectWithData:jsonData options:0 error:&error]; 

if ([dictResult objectForKey:@"wsResponse"]!=nil) 
{ 
    for (NSDictionary *dict in [[dictResult valueForKey:@"wsResponse"]valueForKey:@"Bhaktamar"]) 
    { 
      objBean=[[Beandata alloc]init]; 
      objBean.strcontent=[dict objectForKey:@"content"]; 
      objBean.strtitle=[dict objectForKey:@"title"]; 

      [dataBase insertJsonData:@"BhaktamarData" Title:objBean.strtitle Content:objBean.strcontent]; 

    } 
} 

由于提前

JSON ARRAY

{"wsResponse":{"Bhaktamar":[{"content":"atipati nath","title":"atipatinath"},{"content":"atipati nath","title":"atipatinath"}]} 

回答

0

的夫特3当量是:

do { 
    if let dictResult = try JSONSerialization.jsonObject(with:jsonData, options:[]) as? [String:Any] { 
     if let wsResponse = dictResult["wsResponse"] as? [String:Any], let shlock = wsResponse["Bhaktamar"] as? [[String:Any]] { 
      for dict in shlock { 
       objBean = Beandata() 
       objBean.strcontent = dict["content"] as? String ?? "" 
       objBean.strtitle = dict["title"] as? String ?? "" 
       dataBase.insertJsonData("BhaktamarData", Title:objBean.strtitle, Content:objBean.strcontent) 
      } 
     } 
    } 
} catch { 
    print(error) 
} 

用于插入行的语法可能是不同的(有必须是一个参数标签第一个参数)。

PS:考虑变量objBean在重复循环中初始化,但实际上未使用。

+0

thanx为您的回应,但它不工作 – seggy

+0

**什么**不工作?该代码是objc代码的1:1等效代码。 – vadian

+0

代码是等效的,但我运行此代码从这行快速休息**如果让wsResponse = dictResult [“wsResponse”]为? [字符串:任何],让shlock = wsResponse [“Bhaktamar”]为? [[String:Any]] ** – seggy

相关问题