【发布时间】:2020-08-19 08:58:01
【问题描述】:
我是 swift 新手,需要从 url 读取 json 文件。我设法获取数据并将其输出到应用程序屏幕(当它是字符串时),但是如何正确地将其从浮点数转换并输出到应用程序屏幕?
import SwiftUI
struct DATA: Codable {
let ONE_R: Float
let TWO_R: Float
}
struct AllTEC: View {
@State var user: DATA?
var body: some View {
Text("ONE: \(user?.ONE_R ?? "")") \\correct for string incorrect for float
.onAppear(perform: loadD)
}
}
extension AllTEC
{
func loadD() {
let url = URL(string: "https://symbiosys-a415a.firebaseio.com/DATA.json")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard error == nil else {
print("error: \(error!)")
return
}
guard let data = data else{
print("no data")
return
}
guard let user = try? JSONDecoder().decode(DATA.self, from: data) else {
print("Error: Couldn't decode data ito user")
return
}
print("gotten user is \(user.ONE_R)")
DispatchQueue.main.async {
self.user = user
}
task.resume()
}
}
struct AllTEC_Previews: PreviewProvider {
static var previews: some View {
AllTEC()
}
}
JSON
{
"ONE_R":98.4,
"TWO_R":27.7
}
【问题讨论】: