我正在尝试从 JSON 字符串中提取 tax_amount 的值,但是这一行
let taxAmountS = json["tax_amount"] as? String
触发错误。打印 json(json 字符串)看起来应该可以工作,如下所示
["client_secret": pi_3Q5hYZHbqLi, "tax_amount": 192, "total": 2424]
它包含“tax_amount”:192。有人可以帮忙从 json 字符串中提取 192 的值吗?
let task = URLSession.shared.dataTask(with: request, completionHandler: { [weak self] (data, response, error) in
guard let data = data,
let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String : Any],
//let taxAmountS = json["tax_amount"] as? String,
let self = self else {
print("Error")
return
}
print("json is ", json)
taxAmt = (taxAmountS as NSString).doubleValue
我相信键的值
tax_amount
是数字而不是字符串。它应该是:请检查您的数据类型。问题在于您尝试将 tax_amount 转换为字符串,但该值实际上是数字(具体来说,在您的情况下是整数)。
您也许可以正确提取值
无论如何,问题在于数据类型以及如何转换它。
大概..