Swift 4.1 で JSON Decoder を使用しようとしていますが、取得し続けます
「データの形式が正しくないため、データを読み取ることができませんでした」
理由がわかりません。から JSON ファイルをBundle.main.path
呼び出し、URL(fileURLWithPath:)
.
ファイル パスを調べてローカルで開くと、JSON データは適切な形式になっているようです。私のdata.jsonファイルでは、データは次のように設定されています。
{
"plant": "1015",
"name": "SPEEDVALE",
"key": "5035",
}
私はこのような構造体を持っています
struct AllData: Decodable {
let plant: String
let name: String
let key: String
}
次に、このように宣言された変数があります
private var x: [AllData] = []
そして、コードのデコードブロックは次のようになります
do {
let path = Bundle.main.path(forResource: "data", ofType: "json")
let jsonData = try Data(contentsOf: URL(fileURLWithPath: path!))
do {
plantDataSerialized = try [JSONDecoder().decode(AllData.self, from: jsonData)]
print(plantDataSerialized)
} catch let error{
print(error.localizedDescription)
}
} catch let error {
print(error.localizedDescription)
}