ios - 在 swift 4.0 中获取 JSON 数据时出错
问题描述
我的 JSON 看起来像这样,并且数据不是来自服务器:
[
{
"emp_id": "1",
"fname": "Shreya",
"lname": "Shah",
"email_id": "shreyashah@gmail.com",
"password": "shreya123",
"date_of_birth": "14/03/1995",
"gender": "Female",
"street1": "Arbudgiri Society",
"street2": "Nr.Rambaug Road",
"city": "Ahmedabad",
"zipcode": "380005",
"country": "India",
"country_code": "+91",
"phone_no": "456544545",
"emp_img": "employeeImages/shreyashah@gmail.com_services-pic2.jpg",
"emp_desig": "PHP Developer",
"emp_skills": "html,php,css,jquery,javascript",
"emp_edu": "BCA,MCA",
"emp_exp": "3years",
"emp_notice_period": "30days",
"emp_lang": "english,hindi,gujarati"
},
{
"emp_id": "2",
"fname": "Harish",
"lname": "Verma",
"email_id": "harishverma@gmail.com",
"password": "harish123",
"date_of_birth": "22/07/1994",
"gender": "Female",
"street1": "Satyam Skyline",
"street2": "Nr.Sola Cross Roads",
"city": "Ahmedabad",
"zipcode": "380005",
"country": "India",
"country_code": "+91",
"phone_no": "964783214",
"emp_img": "employeeImages/harishverma@gmail.com_services-pic2.jpg",
"emp_desig": "iOS Team Lead",
"emp_skills": "objective-c,swift",
"emp_edu": "BCA,MCA",
"emp_exp": "3years",
"emp_notice_period": "30days",
"emp_lang": "english,hindi,gujarati"
}
]
我在 VIEWCONTROLLER 代码中的代码已解码 json 并在我的文件中使用它:
import UIKit
struct EmployeeDisplayData: Decodable {
let emp_img: String
let fname: String
let emp_desig: String
let emp_exp: String
let country: String
let emp_notice_period: String
}
class UserViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var mainTableView: UITableView!
let URL_GET_DATA = "http://172.16.1.22/Get-Employee-API/get-employee/"
var employeeArray = [EmployeeDisplayData]()
override func viewDidLoad() {
super.viewDidLoad()
self.mainTableView.delegate = self
self.mainTableView.dataSource = self
getEmployee()
// Do any additional setup after loading the view, typically from a nib.
// Do any additional setup after loading the view.
}
func getEmployee(){
let empURL = URL(string: "http://172.16.1.22/Get-Employee-API/get-employee/")
URLSession.shared.dataTask(with: empURL!) { (data, response, error) in
do
{
if error == nil
{
self.employeeArray = try JSONDecoder().decode([EmployeeDisplayData].self, from: data!)
for mainArr in self.employeeArray
{
DispatchQueue.main.async {
self.mainTableView.reloadData()
}
}
print("****Employee Data****\(self.employeeArray)")
}
}
catch
{
print("Error in get JSON Data Employee\(error)")
}
}.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return employeeArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:EMpTableViewCell = tableView.dequeueReusableCell(withIdentifier: "EMpTableViewCell") as! EMpTableViewCell
let empData = employeeArray[indexPath.row]
cell.lblOne.text = empData.fname
cell.lblTwo.text = empData.emp_desig
cell.lblThree.text = empData.emp_exp
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
}
有人可以帮我解决这个错误我不知道这个错误是什么意思我在大多数地方都看到了相同类型的错误并试图解决它但仍然来自服务器的相同错误
] 4
解决方案
推荐阅读
- javascript - 使用 express 更新 JSON
- python-3.x - 如何将字典中的值映射到 Pyspark 中的新列
- javascript - curl 成功但 Javascript 获取失败
- node.js - node.js node-fetch - 传递附加到url的查询字符串的问题
- list - Hasekll 将列表中的第二个元素加倍
- android - 不能从 CLI 运行本机反应
- bash - 如何为 gitlab ci 中的所有作业传递 1 个函数?
- angular - 从 Angular JS 调用时,Angular 8 自定义元素在 IE11 中不起作用
- python - 我的脚本可以在 Windows 上运行,但不能在 Linux 上运行-关于文件夹路径
- javascript - 无法通过函数更新全局变量?