こんにちは、bitflyerからapiでビットコインの価格を取得して表示させるプログラムを作っています。
https://api.bitflyer.com/v1/getboard/?product_code=BTC_JPY
というAPIを叩けば下記のように、mid_priceが出てきますので、この値を取り出して表示したいのです。
{
mid_price: 1102595, <<この値を表示するだけ
bids: [
{
price: 1102405,
size: 0.4853
},
mid_priceが上記の場合、
jsonserializationでデータを取り出して、 "現在の価格:11102595" と表示させたいのですが
下記のエラーが出てきます
Could not cast value of type '__NSCFNumber' (0x10ad7a7d8) to 'NSDictionary' (0x10ad7b818).
2020-02-16 15:07:50.322692+0900
そもそも取り出したのは、String であってそれを表示させたいだけなのに、上記のようなエラーがでてきて困っています。
なにかヒントだけでもいいので手がかりがほしいのでお力添えいただければと思います
下記に私の書いたコードを添付します.よろしくお願いいたします
SWIFT
1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var productCodeINput: UITextField! 6 @IBOutlet weak var CurrentPrice: UILabel! 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 // Do any additional setup after loading the view, typically from a nib. 11 } 12 13 14 @IBAction func findPrice(_ sender: Any) { 15 let url = "https://api.bitflyer.com/v1/getboard/?product_code=(productCodeINput.text!)" 16 getURL(url: url) 17 } 18 19 func getURL(url:String) { 20 do { 21 let apiURL = URL(string:url)! 22 let data = try Data(contentsOf:apiURL) 23 let json = try JSONSerialization.jsonObject(with: data) as! [String:Any] 24 print(json) 25 let price = json["mid_price"] as! [String:Any] 26 27 28 self.CurrentPrice.text = "現在の価格: (price)" 29 30 } catch { 31 self.CurrentPrice.text = "サーバーに接続できません" 32 } 33 } 34}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 10:55
2020/02/16 11:09