2017-07-22 21 views
-4

私は、次のようなJSONデータを持っている:JSON配列内のJSONオブジェクトを解析しますか?

私は( "パース")にアクセスするにはどうすればよい
{ 
    "data":[ 
     {"date":"2017-07-14","value":2459.27}, 
     {"date":"2017-07-13","value":2447.83}, 
     {"date":"2017-07-12","value":2443.25}, 
     {"date":"2017-07-11","value":2425.53}, 
     {"date":"2017-07-10","value":2427.43}, 
     {"date":"2017-07-07","value":2425.18}, 
     {"date":"2017-07-06","value":2409.75}, 
     {"date":"2017-07-05","value":2432.54}, 
     {"date":"2017-07-03","value":2429.01} 
    ], 
    "identifier":"$SPX", 
    "item":"close_price", 
    "result_count":9, 
    "page_size":100, 
    "current_page":1, 
    "total_pages":1, 
    "api_call_credits":1 
} 

スウィフト3を持つ値(2459.27、2447.83、2443.25、...)?

答えて

0

をあなたはこのコードを試すことができます:ここでは

// 1. Access yourJSON ["data"] only if you have ensured that the data type of yourJSON["data"] is correct as you have envisioned. 
if let dataArray = yourJSON["data"] as? [[String : Any]] { 

    // 2. Execute a loop (for-in) to access each element of the array. 
    for element in dataArray { 

     // 3. Make sure that the "value" key of each element is of Double (or Float) type. 
     if let value = element["value"] as? Double { 
      print(value) 
     } 
    } 
} 

は、あなたが参照することができ、いくつかの文書であります〜Collection Types,Optional Binding

1

これを試してください:

let aData = yourResponse["data"] 
     print(aData) 

     for aValue in aData!{ 

      print(aValue["value"]) 
     } 

が、それはあなたを助けることを願っています。

0

あなたはこのようなものを使用することができます。..

var dataValues:[[String:AnyObject]] = [] 
var valuesArray = [String]() 

次に、あなたの関数内

self.dataValues = result?["data"] as! [[String:AnyObject]] 
for fields in self.dataValues { 
    valuesArray.append(fields["value"] as! String) 
} 

print("Your value array ", valuesArray) 
関連する問題