试图将 JSON 解析为 swift3 并显示到 UILabel

Posted

技术标签:

【中文标题】试图将 JSON 解析为 swift3 并显示到 UILabel【英文标题】:Trying to parse JSON into swift3 and display into UILabel 【发布时间】:2017-05-30 05:38:42 【问题描述】:

如何将这些数据解析成swift3并显示到UILabel中。

请有人帮我解决这个问题,因为我是 swift 新手,正在做我的第一个项目。提前致谢。


    “Driver_Details” :[
   
        “Staff_ID”:2,
        “Staff_Name”:”Pratyush”,
        “Student_ID”:1
        “Route_Number”:”1A”
        “Route_Name”:”Guindy”
        “Stop_Name”:”Velachery”
        “Distance_from_School”:3,
    
]

【问题讨论】:

你能提供你的 swift 部分的代码吗? 我还没有尝试,因为我不知道从哪里开始,请帮助我:( 那么,请先查看教程。喜欢(直接关于 JSON/Swift)roadfiresoftware.com/2016/12/how-to-parse-json-with-swift-3 或(一般)***.com/documentation/swift/topics @FieryCat 好的,谢谢 :) 【参考方案1】:

试试这个。如果您将其作为本地文件从 Documents 文件夹中作为 DriverDetails.json 打开,您可以尝试以下操作:

if let path = Bundle.main.path(forResource: "DriverDetails", ofType: "json")  
    do  
        let jsonData = try Data(contentsOf: URL(fileURLWithPath: path), options: .mappedIfSafe) 
        if let json = try JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) as? [String: Any] 
            if let jsonDriverDetails = json["Driver_Details"] as? [[String: Any]] 
                // Here you have an array of DriverDetails Dictionaries
                for jsonDriverDetail in jsonDriverDetails 
                    // Iterating through each Dictionary you can access the values using the key
                    staffNameLabel.text = jsonDriverDetails["Staff_Name"] as? String
                
            
         
      catch  print(error.localizedDescription)  
  

【讨论】:

嘿,谢谢伙计,但这些数据来自 URL,我应该在你的代码中更改什么? 你在使用 AlamoFire 吗? 不,它非常简单的应用程序和数据来自服务器。 尝试将第 3 行替换为:let jsonData = try Data(contentsOf: jsonURL, options: .mappedIfSafe) 其中jsonURL 具有您服务器的 URL 代码给了我错误:无法在此行使用 'String' 类型的索引下标 '[[String : Any]]' 类型的值:staffNameLabel.text = jsonDriverDetails["Staff_Name “] 作为?字符串

以上是关于试图将 JSON 解析为 swift3 并显示到 UILabel的主要内容,如果未能解决你的问题,请参考以下文章

Swift3 - UIImageView 没有从解析的 JSON 数据中出现

数据 > JSON - Swift3 - 转换和解析

swift 3 将 json 数组解析为键值

Swift 3,如何先解析并在下一个 TableViewController 上显示

在 Swift 3 中将 JSON 对象解析为 NSArray

如何使用 SWIFT3 解析此 JSON [重复]