代码之家  ›  专栏  ›  技术社区  ›  Maihan Nijat

为什么Swift JSondecodable失败?

  •  1
  • Maihan Nijat  · 技术社区  · 7 年前

    我尝试使用 JSONDecodable 但失败了。

    我创建了一个自定义类并用扩展 Decodable .

    class CustomError: Decodable {
    
        // Properties
        var errors: [String: [String:String]]?
        var message: String?
    }
    

    并使用以下行对返回的 nil :

    let jsonError = try? JSONDecoder().decode(CustomError.self, from: data!)
    

    但我得到以下结果 JSONSerialization :

    let jsonError = try? JSONSerialization.jsonObject(with: data!, options: .mutableContainers)
    

    结果:

    Optional({
        errors =     {
            email =         (
                "The email has already been taken."
            );
        };
        message = "The given data was invalid.";
    })
    

    为什么 可剥的 不起作用?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Jogendar Choudhary    7 年前

    您需要这样做,因为您有错误的值数组(电子邮件):

    var errors: [String: [String]]?