1、JSON格式的数组转数组类型
public extension String {
func toArray()->[String]?{
guard let data = self.data(using: .utf8)else{return nil}
do {
let array = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String]
return array
}catch {
return nil
}
}
}
2、数组转换为JSONString
extension Array {
func toJSONString()->String?{
if !JSONSerialization.isValidJSONObject(self){return nil}
do{
let data = try JSONSerialization.data(withJSONObject: self, options: .fragmentsAllowed)
let str = String(data: data, encoding: .utf8)
return str
}catch{
return nil
}
}
}
3、字典转换为JSONString
extension NSDictionary {
func toJSONString()->String? {
if !JSONSerialization.isValidJSONObject(self){return nil}
do {
let data = try JSONSerialization.data(withJSONObject: self, options: .fragmentsAllowed)
let str = String(data: data, encoding: .utf8)
return str
}catch {
return nil
}
}
}
4、JSONString转换为字典
extension String {
func toDictionary()->NSDictionary?{
guard let data = self.data(using: .utf8) else{return nil}
do {
let dic = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? NSDictionary
return dic
}catch {
return nil
}
}
}