获取swift中对象数组的json
我想在swift中获取对象数组的json获取swift中对象数组的json,json,swift,codable,Json,Swift,Codable,我想在swift中获取对象数组的json class action { var ts: Int; var winner: Int; var meta: [Int: String]; init(ts : Int, winner: Int, meta: [Int: String]) { self.ts = ts; self.winner = winner; self.meta = meta; } } var
class action {
var ts: Int;
var winner: Int;
var meta: [Int: String];
init(ts : Int, winner: Int, meta: [Int: String]) {
self.ts = ts;
self.winner = winner;
self.meta = meta;
}
}
var actions:[action] = []
let thisAction = action(ts: 123, winner: 1, meta: [:]);
actions.append(thisAction);
let jsonEncoder = JSONEncoder();
let jsonData = try jsonEncoder.encode(actions);
但我有以下错误:
致命错误:数组不符合可编码,因为操作不符合可编码:file/BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-900.0.74.1/src/swift/stdlib/public/core/Codable.swift,第3962行
错误消息非常清楚,您需要在Action类上继承Codable 提示1:在动作类中使用大写字母A 提示2:不要使用;,在Swift中不需要这样做 提示3:使用do-try-catch:
do {
let jsonData = try JSONEncoder().encode(actions)
print(jsonData)
} catch let error {
print(error)
}
你没有说集体行动:可编码,猜猜看,它不是通过JSONECODER可编码的。[请称之为行动,而不是行动。这是一门课。]看。
do {
let jsonData = try JSONEncoder().encode(actions)
print(jsonData)
} catch let error {
print(error)
}