我试图在swift CLI中打开JSON文件以对其进行解析。 但是,尽管文件位于资源中,但我似乎无法生成正确的文件URL。
if let path = Bundle.main.path(forResource: "test", ofType: "json") {
do {
let fileUrl = URL(fileURLWithPath: path)
print(fileUrl)
let data = try Data(contentsOf: fileUrl, options: .mappedIfSafe)
print(data)
let cities: [City] = try decoder.decode([City].self, from: data);
return cities;
} catch {
return nil;
}
}
如果打开“构建阶段”菜单,则可以看到其中的test.json文件,但是在构建时swift无法访问该文件。
预先感谢您的帮助。
答案 0 :(得分:0)
尝试以下操作。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
readData()
}
// MARK: - More
func readData() {
if let path = Bundle.main.path(forResource: "test", ofType: "json") {
if let jsonData = readFileContent(path: path) {
do {
let result = try JSONDecoder().decode([City].self, from: jsonData)
print(result)
} catch let error as NSError {
print("\(error)")
}
}
}
}
func readFileContent(path: String) -> Data? {
do {
let url = URL(fileURLWithPath: path)
let data = try Data(contentsOf: url)
return data
} catch let error as NSError {
print("Error: \(error)")
}
return nil
}
}