更新:现在已在Unbox 1.9中修复此问题。
我在一个小型Swift项目中使用了令人敬畏的Unbox JSON解码器,到目前为止,它已经证明非常容易使用。但是,我遇到了一个小问题,试图将JSON中的字符串数组解码并转换为整数数组属性。
我有一个Conversation类,如下所示:
final class Conversation: Unboxable {
var participants: [Int]?
var subject: String?
var timestamp: Int?
var conversationId: String?
init(unboxer: Unboxer) {
self.participants = unboxer.unbox("participants")
self.subject = unboxer.unbox("subject")
self.timestamp = unboxer.unbox("timestamp")
self.conversationId = unboxer.unbox("conversationId")
}
}
我正在使用的JSON看起来像这样:
{
"subject" : "subject line goes here",
"participants" : [
"201984",
"237810",
"149092",
"202577"
],
"timestamp" : 1468322845885,
"conversationId" : "9bf356d1-4823-11e6a51e-2d6dfda33d93"
}
如您所见,JSON中的参与者数组是一个字符串数组,我想将其转换为整数数组。当我运行我的代码时,我的类中的参与者属性在取消装箱后为零。如果我将其类型更改为[String] ?,那么它将取消装箱。 Unbox的一个好处是它会自动将字符串值转换为数字类型(如果可能)。但要么我做错了,要么Unbox没有为数组提供相同的功能。有没有人以前用过Unbox做过这个?