【发布时间】:2017-08-25 13:08:35
【问题描述】:
我正在尝试使用此代码从文件中加载 json 字符串。
if let filepath = Bundle.main.path(forResource: "data", ofType: "json") {
do {
let contents = try String(contentsOfFile: filepath)
print(contents)
} catch {
// contents could not be loaded
print("could not be loaded")
}
} else {
}
但我收到“无法加载”消息。代码错了吗?还是我应该把文件放在一个特定的文件夹中?目前我将它放在一个名为 models 的文件夹中。
编辑:我检查了错误内容,json文件的位置没有问题,当我尝试将其转换为String时出现问题。它告诉我编码不同...
错误域=NSCocoaErrorDomain Code=264 "Die Datei „data.json" konnte nicht geöffnet werden, da die Textcodierung des Inhalts nicht bestimmt 韦登坎恩。”
【问题讨论】:
-
将该文件放在目标的根目录中
-
打印错误:
/*...*/ catch(error) { print(error)- 它说什么? -
检查你的 json 文件的目标成员。
-
将文件作为数据(不是字符串)读取并检查是否有效。无论如何都应该从数据中完成 JSON 解码。
-
请将错误信息翻译成英文。谢谢。