Number.prototype.trim = function(decimals) {
var s = this.toString();
var d = s.split(".");
d[1] = d[1].substring(0, decimals);
return parseFloat(d.join("."));
}
console.log((5.676).trim(2)); //logs 5.67
Существует множество способов преобразования необязательной строки в словарь.
Вы можете использовать родной JSONSerialization
guard let text = response.result.value as? String else { return }
if let data = text.data(using: String.Encoding.utf8) {
do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String:String]
print(json) // safely use json
} catch {
print("Error")
}
}
Проблема в том, что response.result.value
имеет необязательный тип String
. Но вы пытаетесь привести это как словарь [String: String]
здесь
if let result = response.result.value as? [String:String] {
Этот код проверяет его безопасно, но приведение явно не удается. Чтобы решить эту проблему, вам нужно проанализировать строку incode как объект json, чтобы получить данные.
Swift 4 использует Codable
для этой работы. Документация или используйте API Alamofire, который выполняет ту же работу: этот метод responseJSON