2017-03-05 11 views
-2

私は以下のJSONデータ構造をFBSDKGraphRequestから取得しています。JSONデータの抽出 -

data =  (
      { 
     id = "<USER_ID_GOES_HERE>"; 
     name = "Tom Jones"; 
     picture =    { 
      data =     { 
       "is_silhouette" = 0; 
       url = "<USER_IMAGE_URL_GOES_HERE>"; 
      }; 
     }; 
    }, 
      { 
     id = "<USER_ID_GOES_HERE>"; 
     name = "Tom Jones"; 
     picture =    { 
      data =     { 
       "is_silhouette" = 0; 
       url = "<USER_IMAGE_URL_GOES_HERE>"; 
      }; 
     }; 
    }, 
      { 
     id = "<USER_ID_GOES_HERE>"; 
     name = "Tom Jones"; 
     picture =    { 
      data =     { 
       "is_silhouette" = 0; 
       url = "<USER_IMAGE_URL_GOES_HERE>"; 
      }; 
     }; 
    }, 

私はデータを抽出して配列に配置したいと考えています。私は最初の "データ"キーに問題があります。

HERESに私のFBSDKGR:

let params = ["fields": "name, picture.type(large)"] 
    let request = FBSDKGraphRequest(graphPath: "me/taggable_friends", parameters: params) 
    request!.start { (connection, result, error) -> Void in 

     if error != nil { 
      print("There is some error getting friends", error!) 
     } 
     else if result != nil { 
      print("Here is the result", result!) 
+0

本質的に私はこのデータをUITableViewに取得したい –

+5

あなたはSOで検索しましたか? JSONを解析するには何百もの関連する質問があります。 JSONを読んでください! '[]'は配列(添え字添字) '{}'は辞書(キーで添え字付き)です。ただし、リストはSwiftコレクションタイプのコンソール出力です。 '()'は配列で、 '{}'は辞書です。 – vadian

答えて

1

With an extra dependency, if you don't mind.

import SwiftyJSON 

let json = JSON(result) // after you get result from FBSDKGR 
let data = json["data"].array 
for (index, _) in data.enumerated() { 
    if let id = json["data", index, "id"].int { 
      // add to your array 
      if let name = json["data", index, "name"].string { 
       // continue nesting... 
     } 
    } 
} 
0

あなたJSONDのDTAとして、我々は以下の方法で結果をキャストすることができますので、辞書の配列です。まず第一に、2つの配列をとります。一つは名前リスト、もう一つは画像の詳細です。ここで画像の詳細配列は辞書の配列です。コードを手に入れよう

ここでは2つの配列があります。したがって、tableViewに簡単に取り込むことができます。 幸運。

+0

エラータイプには、添え字メンバーがありません: let response = result ["data"] as? [[文字列:AnyObject]] { –

+0

これは私の側で動作しています、plzデバッグして実行する – Harish