ios - Swift 3 无法使用 SwiftyJSON 和 Alamofire 下标类型为 'String' 的值和类型为 'String' 的索引

标签 ios json swift xcode alamofire

这是代码,我正在制作一个比特币价格跟踪器应用程序,我是 ios 开发的新手,所以我正在为这个错误而苦苦挣扎 :( 感谢任何帮助。我正在使用 Alamofire 和 SwiftyJSON 来完成 json 工作。它们是使用 cocoapods 导入。这是我使用的 json:https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD

// Connect the UI
@IBOutlet weak var PriceLabel: UILabel!
@IBOutlet weak var PercentageLabel: UITextView!
@IBOutlet weak var CurrencyPicker: UIPickerView!

var url : String = "https://apiv2.bitcoinaverage.com/indices/global/ticker/BTCUSD"

var Price : String = ""

var jsondata = ""


// Called before app is shown to user
override func viewDidLoad() {
    super.viewDidLoad()

    // Request the JSON Data
    requestJson()
}


func requestJson(){
    Alamofire.request(url).response { response in
        print("Request: \(response.request)")
        print("Response: \(response.response)")

        if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
            print("Data: \(utf8Text)")
            self.parseJSON(json: utf8Text)
        }
    }
}

func parseJSON(json: String){
    Price = jsondata["ask"].stringvalue **This is where it kicks an error**
}

最佳答案

func requestJson(){
    Alamofire.request(url).response { response in
        if let data = response.data {
            self.parseJSON(json: JSON(data: data))
        }
    }
}

func parseJSON(json: JSON){
    Price = json["ask"].stringValue 
}

要从 URL 获取 json,您还可以使用 responseJSON

关于ios - Swift 3 无法使用 SwiftyJSON 和 Alamofire 下标类型为 'String' 的值和类型为 'String' 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45470223/

相关文章:

javascript - 通过 PHP 将 JSON 输出转换为 HTML 表?

arrays - 使用函数式编程按索引对数组数组中的元素进行平均

ios - 使用 Swift 创建一个带 N 项的类型化数组

ios - 缩小单元格框架与放大框架不同

ios - 登录Parse后加载账户信息

ios - 纯文本在 iOS 底部被截断,如何在 xCode 中修复?

ios - 苹果 map 工具包 : how to insert UIbutton instate of location pins

python - 使用 yield 流式传输到 JSON 文件

javascript - 根据项目属性值在数组中查找某些项目的最佳方法是什么?

generics - Swift:使用通配符作为泛型类型参数