'init(nilLiteral:)' 已弃用:请改用 JSON.null。将在未来版本中删除

'init(nilLiteral:)' is deprecated: use JSON.null instead. Will be removed in future versions

当我将 myProject 用于 Swift4 并且 Xcode9 给我工作代码时;

if (json["Records"] != nil) {

给予;

'init(nilLiteral:)' is deprecated: use JSON.null instead. Will be removed in future versions

警告下划线为零。我也在使用 SwiftyJSON 哪种方法最适合修复它?

您的 JSON 解析库的创建者似乎放弃了对 ExpressibleByNilLiteral 的支持,这允许 nilJSON.null 之间的隐式转换。

所以现在你必须显式声明 JSON.null(或者 .null,如果类型是可推断的)。意思是你需要做:

if (json["Records"] != JSON.null) {
   // code
}