小编dav*_*ave的帖子

在Swift 3中使用选项的JSONSerialization

在Swift 3中,JSONSerialization具有可选值的数组失败.
这在Swift 2中起作用(产生null作为nil期望的可选项的JSON值).

编辑:它没有,但留在这里,因为这是我提出问题时的错误信念.

斯威夫特2:

let a: [String!] = ["a","b","c"]
let b: [String] = ["a","b","c"]

let s: String! = "a"
let c = ["a",s]

NSJSONSerialization.isValidJSONObject(a)    //true
NSJSONSerialization.isValidJSONObject(b)    //true
NSJSONSerialization.isValidJSONObject(c)    //true
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

let a: [String?] = ["a","b","c"]
let b: [String] = ["a","b","c"]

let s: String! = "a"
let c = ["a",s]

JSONSerialization.isValidJSONObject(a)    //false
JSONSerialization.isValidJSONObject(b)    //true
JSONSerialization.isValidJSONObject(c)    //false
Run Code Online (Sandbox Code Playgroud)

这是预期的变化吗?
它似乎非常容易出错,因为任何使用隐式类型构造的数组或字典现在可能对JSON无效(即使它们实际上不包含任何nil值).

另外,如何指定空值?

json swift

4
推荐指数
1
解决办法
3059
查看次数

标签 统计

json ×1

swift ×1