JSONSerialization 中的 option[]

Posted

技术标签:

【中文标题】JSONSerialization 中的 option[]【英文标题】:option[] in JSONSerialization 【发布时间】:2019-05-23 11:24:37 【问题描述】:

什么是 option: [] in JSONSerialization in swift

let jsonData = try JSONSerialization.data(withJSONObject: updatedJson, options: [])

【问题讨论】:

一组选项,即没有指定选项。 ***.com/a/40058055/5362750 【参考方案1】:

JSONSerialization.WritingOptions 是一个OptionSet 并符合ExpressibleByArrayLiteral 协议,这意味着可以将“一组选项”指定为数组文字。例如:

let jsonData = try JSONSerialization.data(withJSONObject: json,
                                         options: [.prettyPrinted, .sortedKeys])

特别是,空数组字面量意味着“没有选项”:

let jsonData = try JSONSerialization.data(withJSONObject: json, options: [])

在这种特殊情况下,它相当于省略参数

let jsonData = try JSONSerialization.data(withJSONObject: json)

因为它有一个默认值[]

class func data(withJSONObject obj: Any, 
    options opt: JSONSerialization.WritingOptions = []) throws -> Data

【讨论】:

以上是关于JSONSerialization 中的 option[]的主要内容,如果未能解决你的问题,请参考以下文章

JSONSerialization JSON 写入中的类型无效 (_SwiftValue)

JSONSerialization JSON 写入中的类型无效 (_SwiftValue)

JSONSerialization 在应用程序中返回 false,在邮递员中返回 true

JSONSerialization.jsonObject 不接受我的参数

JSONSerialization.jsonObject 返回 nil

44-Swift 之 JSONSerialization