首页 > 解决方案 > Graphql - iOS 中的数据获取

问题描述

任何人请帮我从下面的 API 响应中获取“数据”的值。这是 GraphQL API 响应的一种

["data": {
    signin = {
       result = {
         firstName = evol;
          lastName = adc;
          profileImage = "http:/xxx.com/public/static/default.jpg";
          status = "<null>";
          token = "eyxxx";
         };
      };
  }]

标签: iosapigraphqlnsdictionary

解决方案


您可以从 API 响应中获取数据的值,如下所示,

 let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)as? [String : Any]
 print("Json",json!)

 let jsonUnwrapped = json.unsafelyUnwrapped
 let jsonData = jsonUnwrapped["data"]as? [String : Any]
  print("data....", jsonData!)
  if let signup = jsonData.unsafelyUnwrapped as? [String : Any]
    {
     let signupDetails = signup["signin"]as? [String : Any]
      if  signupDetails?.count == 0 || signupDetails == nil
        {
          let error = jsonUnwrapped["errors"]
          print("error.....",error! )
          DispatchQueue.main.async {
             self.view.makeToast("Invalid credentials", duration: 0.5, position: .bottom)
           }
        }
        else
        {
         DispatchQueue.main.async {
           //Your code here...

          }
     }

推荐阅读