【发布时间】:2018-02-15 21:05:38
【问题描述】:
我想快速获取对象数组的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 actions:[action] = []
let thisAction = action(ts: 123, winner: 1, meta: [:]);
actions.append(thisAction);
let jsonEncoder = JSONEncoder();
let jsonData = try jsonEncoder.encode(actions);
但我有以下错误:
致命错误:Array
不符合 Encodable,因为 action 不符合 Encodable。:文件 /BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-900.0.74.1/src/ swift/stdlib/public/core/Codable.swift,第 3962 行
【问题讨论】:
-
你没有说
class action : Encodable,所以你猜怎么着,它不能通过 JSONEncoder 编码。 [请叫它Action,而不是action。这是一堂课。]