JSONSerialization.ReadingOption詳解

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中體現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章