json - 如何将 Swift 对象序列化或转换为 JSON?

标签 json swift

下面这个类

class User: NSManagedObject {
  @NSManaged var id: Int
  @NSManaged var name: String
}

需要转换成

{
    "id" : 98,
    "name" : "Jon Doe"
}

我尝试手动将对象传递给将变量设置为字典并返回字典的函数。但我想要一个更好的方法来实现这一点。

最佳答案

在 Swift 4 中,您可以从 Codable 类型继承。

struct Dog: Codable {
    var name: String
    var owner: String
}

// Encode
let dog = Dog(name: "Rex", owner: "Etgar")

let jsonEncoder = JSONEncoder()
let jsonData = try jsonEncoder.encode(dog)
let json = String(data: jsonData, encoding: String.Encoding.utf16)

// Decode
let jsonDecoder = JSONDecoder()
let secondDog = try jsonDecoder.decode(Dog.self, from: jsonData)

关于json - 如何将 Swift 对象序列化或转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599005/

相关文章:

json - AWS Lambda,测试按钮做什么类型的请求?

javascript - 计算某个键的值在 JSON 中出现的次数

ios - 即使我在 viewWillAppear 中注册并在 viewWillDissapear 中注销,观察者方法也会被多次调用

ios - swift - 应用程序购买

ios - Swift:从 Swift 2 到 Swift 3 的转换失败

json - 为什么这个字典包含这么多#undefs?如何忽略它们?

json - 在剑道网格中显示动态图像

ios - 快速处理两种不同的值类型

ios - 从 SceneDelegate 更新屏幕结构的状态

swift - 如何在 Swift 中创建 CVPixelBuffer 属性字典