使用Marshal获取值引用键

时间:2017-12-06 15:47:01

标签: ios swift unmarshalling

该项目正在使用Marshal

我有一个看起来像这样的JSON结构:

{"Stuff": 
   [
      {"Key": "SomeKey", "Value": "4056"},
      {"Key": "SomeOtherKey", "Value": "18"}
   ]
 }

现在我想获取"Value" "Key"所在的"SomeKey"的内容(在这种情况下,它将是"4056")。

有没有人知道如何使用这个库?

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,这是我找到的唯一方法:

我创建了一个类来解组所有这些项目:

extension KeyValue: Unmarshaling {
    internal init(object: MarshaledObject) throws {
        self.name = try object <| "Key"
        self.value = try object <| "Value"
    }
}

然后过滤我需要的那个:

let stuff: [KeyValue]
var someKey: String? {
   return stuff.first(where: { $0.name == "SomeKey" })?.value
}

(我想Marshal没有简单的方法)