首页 > 解决方案 > 如何在 Swift 中将 XCode lldb 中的对象作为第一状态 JSON 读取?

问题描述

我有一些具有 Codable 协议的对象,因此它们来自服务 API 并变成字典。项目中有很多服务功能,所以我无法获取它们变成 JSON 或字典的点,我无法看到这些对象的第一个状态。

那么有什么方法可以让我在控制台或其他地方看到字典值,即使它们已经变成 JSON 了?提前致谢。

标签: iosjsonswiftxcodeswiftui

解决方案


您可以使用此扩展将其从字典转换为 JSON,并使用它可以在控制台中打印它。

extension Dictionary {
    var json: String {
        let invalidJson = "Not a valid JSON"
        do {
            let jsonData = try JSONSerialization.data(withJSONObject: self, options: .prettyPrinted)
            return String(bytes: jsonData, encoding: String.Encoding.utf8) ?? invalidJson
        } catch {
            return invalidJson
        }
    }

    func printJson() {
        print(json)
    }
}

假设您yourDicObj已从 JSON 解码,并且希望在控制台上解码之前将其视为 JSON

控制台中的用法:

lldb po yourDicObj.printJson

它将打印为 JSON


推荐阅读