JSONSerialization.ReadingOption詳解
官網鏈接: JSONSerialization
在通過JSONSerialization來轉換json,你有沒有這樣的疑問了????,下面函數的參數ReadingOption是幹啥的,註釋又在說些啥。
JSONSerialization.jsonObject(with: Data, options: JSONSerialization.ReadingOptions)
JSONSerialization.ReadingOptions: 轉化爲JSON對象的可讀選項
總共有三種值:mutableContainers、mutableLeves、allowFragements
mutableContainers
簡介:指定數組和字典作爲可變對象創建
理解: json原始字符串必須是數組或者鍵值對,創建出來的數組或者字典是mutable(可變的),可以對其進行增刪改查
mutableLeves
創建出來的的josn值的字符串爲MutableString,即可變的。
allowFragements
如果json原始字符串不是數組或者字典類型的一樣可以解析。比如可以解析數字("50")、字符串("\"字符串\"")
示例值
MARK: - 值的樣式
// 數字
"50" // 注意這個轉了之後是數字而不是字符串
// 字符串
"\"這是一個字符串\"" // 字符串的樣式應該是這個的
錯誤值
// 不能用大括號包裹
"{"50"}" // 錯誤格式
MARK: - 注意點
// 只能是單值
"50,\"字符串\"" // 這個是錯誤的
// 不能與數組或者字典混用
let test = """
{
"50", // 單值
"name", "Bom" // 鍵值對
}
"""
Tips
但是,對於mutableContainers、mutableLeves在Swift中使用時可以忽略,衆所周知,swift的可變與不可變由var決定,所以他們的特性更多的是在OC中體現。