Convert JSON string to array / Dictionary :
/// JSON string to Array
func getArrayFromJSONString(jsonStr: String) -> Array<Any> {
let data: Data = jsonStr.data(using: .utf8)!
let arr = try? JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers)
if arr != nil {
return arr as! Array<Any>
}
return []
}
/// JSON string to Dictionary
func getDictionaryFromJSONString(jsonStr: String) -> Dictionary<String, Any> {
let jsonData: Data = jsonStr.data(using: .utf8)!
let dictionary = try? JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.mutableContainers)
if dictionary != nil {
return dictionary as! Dictionary<String, Any>
}
return [:]
}
Test case:
let jsonStr = """
[
\"Hyouka\",
\"Youjo Senki\",
\"Bungou Stray Dogs 2nd Season\",
\"Fullmetal Alchemist: Brotherhood\",
\"Tokyo Ghoul √A\",
\"Mahouka Koukou no Rettousei\",
\"Boku wa Tomodachi ga Sukunai NEXT\",
\"Joker Game\",
\"Avatar: The Last Airbender\",
\"Charlotte\"
]
"""
let arr = getArrayFromJSONString(jsonStr: jsonStr)
print(arr)