在Swift 3中,可以使用JSONSerialization
类将带有自定义类的数组转换为JSON。下面是一个完整的示例代码:
import Foundation
// 自定义类
class Person: Codable {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// 创建自定义类的数组
let persons = [Person(name: "Alice", age: 25), Person(name: "Bob", age: 30)]
// 将数组转换为JSON数据
do {
let jsonData = try JSONEncoder().encode(persons)
// 将JSON数据转换为字符串
if let jsonString = String(data: jsonData, encoding: .utf8) {
print(jsonString)
}
} catch {
print("转换为JSON失败:\(error)")
}
在上面的代码中,我们首先定义了一个名为Person
的自定义类,该类遵循Codable
协议以支持JSON编码和解码。然后,我们创建了一个包含两个Person
对象的数组persons
。
接下来,我们使用JSONEncoder
将数组persons
转换为JSON数据。通过调用encode(_:)
方法,我们可以将自定义类的数组编码为JSON数据。
最后,我们将JSON数据转换为字符串,并打印输出。这样,我们就成功地将带有自定义类的数组转换为JSON。
请注意,上述示例中使用的是Swift 4引入的Codable
协议来简化JSON编码和解码过程。如果你使用的是Swift 3,可以使用第三方库如SwiftyJSON
来处理JSON数据。
领取专属 10元无门槛券
手把手带您无忧上云