Xcode swift 从 json 下载二进制文件

Xcode swift download binary file from json

我有 json rpc 服务,一种方法提供带有元数据的二进制文件,例如:

{
        id = 1;
        jsonrpc = "2.0";
        result =     {
            anonymized = 0;
            id = 331210;
            logged = 1;
            content = "e1xydGYxXGFkZWZsYW5nM… …AwMDAwMDAwMDAwMH19";
        };
}

在客户端,我可以通过以下方式正确反序列化响应:

let responseObject = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &parseError) as? NSDictionary

我可以读取对象结果作为 NSDictionary,但找不到将字段内容作为二进制文件保存到磁盘的方法。我没有找到任何解决方案。 感谢您的帮助。

好的,所以 content 看起来是 base64 编码的。如果是这样,你会这样做:

if let encodedData = responseObject?["result"]?["content"] as? String {
    if let data = NSData(base64EncodedString: encodedData, options: nil) {
        data.writeToFile(desiredFilePath, atomically: true)
    }
}