【发布时间】:2021-02-20 05:39:57
【问题描述】:
我有一些具有 Codable 协议的对象,因此它们来自服务 API 并变成字典。项目中有很多服务功能,所以我无法获取它们变成 JSON 或字典的点,我无法看到这些对象的第一个状态。
那么有什么方法可以让我在控制台或其他地方看到字典值,即使它们已经变成了 JSON? 提前致谢。
【问题讨论】:
标签: ios json swift xcode swiftui
我有一些具有 Codable 协议的对象,因此它们来自服务 API 并变成字典。项目中有很多服务功能,所以我无法获取它们变成 JSON 或字典的点,我无法看到这些对象的第一个状态。
那么有什么方法可以让我在控制台或其他地方看到字典值,即使它们已经变成了 JSON? 提前致谢。
【问题讨论】:
标签: ios json swift xcode swiftui
您可以使用此扩展将其从字典转换为 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)
}
}
假设您已从 JSON 解码 yourDicObj,并且您希望在控制台上解码之前将其视为 JSON
使用在控制台:
lldb po yourDicObj.printJson
它将打印为 JSON
【讨论】: