この呼び出しを使用して作成された JSON 配列があります。
guard let json = (try? JSONSerialization.jsonObject(with: content, options: JSONSerialization.ReadingOptions.mutableContainers)) as? [Any] else {
print("This is not JSON!!!")
return
}
次のコードを使用して、配列内の JSON オブジェクトから要素を取得して表示しようとしています。
struct sWidget: Codable{
var createdBy: String
var createdDate: Date
var status: String
var widgetNumber: String
var updatedBy: String
var updatedDate: Date
}
do {
let decoder = JSONDecoder()
for (index, value) in json.enumerated() {
let currentWidget = try decoder.decode(sWidget.self, from: json[index] as! Data)
let currentNum = currentWidget.widgetNumber
//print(currentNum)
widgetNums.append(currentNum)
}
}
catch {
print("decoding error")
}
コードはコンパイルされますが、実行すると出力に次のエラーが表示されます。
タイプ '__NSDictionaryM' (0x1063c34f8) の値を 'NSData' (0x1063c1090) にキャストできませんでした。2018-08-09 09:41:02.666713-0500 TruckMeterLogScanner[14259:1223764] タイプ '__NSDictionaryM' (0x1063c34f8) の値を 'NSData' (0x1063c1090) にキャストできませんでした。
まだ調査中ですが、何かヒントがあれば教えてください。