2017-01-19 8 views
0

私はIOSデベロッパーの初心者です。私はAlamofireを使ってURLからJSONを取得しています。私はCoredataのストアのJSONをループしようとしています。Alamofireを使用してJSONをループし、Coredataに迅速に保存します。

JSON:

[{ 
"stocks": [ 
      { 
      "growth": "29.87", 
      "stock_name": "BLA" 
      }, 
      { 
      "growth": "28.87", 
      "stock_name": "ADVANC" 
      } 
      ], 
"template_name": "stock growth more than 20 in 90 day" 
} , ........ 
] 

私のコード

var arrRes = [[String:AnyObject]]() 


    func loadJSONTemplate() { 


     Alamofire.request("http://1xx.xxx.xxx.xx/").responseJSON { response in 
      print(response.result) 
      if((response.result.value) != nil) { 
       if let data = response.result.value { 

        self.arrRes = data as! [[String:AnyObject]] 
       } 
      } 

     for i in 0 ..< self.arrRes.count { 

       var a = self.arrRes[i] 

       let templatename = a["template_name"] as? String 
       let teststock = a["stock_name"] as? String 
       print(teststock) 

     } 

coredataでは、 "テンプレート名は" 持っている値ではなく、 "stock_name" と "成長" nilである私はありませんわかる。これを解決する方法を教えてください。ありがとうございます

答えて

0

別のレベルのjsonのデータにアクセスしようとしています。 template_nameと株式はピアですが、stock_nameとgrowthは株式の子を構成するオブジェクトにあります。

あなたがより快適に感じたら、私はCocoapodsを通じてObjectMapperをチェックアウトする、ことをお勧めします

let templatename = a["template_name"] as? String 
let stockArr = a["stocks"] as? Array 

for stock in stockArr { 
    let stockName = stock["stock_name"] 
    let growth = stock["growth"] 
} 

ような何かをする必要があります。進歩的な側面では少しですが、人生をもっと楽にしてください。

+0

お返事ありがとうございます。 coredataについて教えてください。 、 { "成長": "28.87"、 "stock_name": "advancの" } Iは{: "29.87"、 "stock_name" "BLA" "成長" を}格納する場合 – hyskoa

+0

コアデータでありますあなたのjsonをデータベースにパースするでしょう。これらのテーブル間にテーブルとリレーションシップを作成します。ここに投稿するにはあまりにも多くのコードがありますが、インターネット上にはたくさんの例があります。 https://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial – karnett

関連する問題