Swift:
使用JSON进行编程
如何操作:
Swift 使用 Codable
协议使得 JSON 解析变得简单直接。下面是如何将 JSON 解码为 Swift 对象的方法:
import Foundation
// 定义一个遵循 Codable 的模型
struct User: Codable {
var name: String
var age: Int
}
// JSON 字符串
let jsonString = """
{
"name": "John Doe",
"age": 30
}
"""
// 将 JSON 字符串转换为 Data
if let jsonData = jsonString.data(using: .utf8) {
// 将 JSON 数据解码为 User 对象
do {
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("姓名:\(user.name),年龄:\(user.age)")
} catch {
print("解码 JSON 出错:\(error)")
}
}
示例输出:
姓名:John Doe,年龄:30
深入探究
自从 Douglas Crockford 在 2000 年代初期指定 JSON(JavaScript 对象表示法)以来,它已被广泛采用。它由于语法更简单、性能更好,已在许多用例中取代 XML。虽然 Swift 的 Codable
是处理 JSON 的首选,但当处理非 Codable 兼容类型时,还存在其他选择,如 JSONSerialization
。在底层,Codable
抽象了较低级别的解析,并使得序列化/反序列化变得无缝。
另请参阅
- 在官方 Swift 博客中进一步探索有关 JSON 和 Swift 的信息:Swift.org
- 查看
Codable
文档:Swift Codable - 对于复杂的 JSON 结构,考虑使用诸如 SwiftyJSON 这样的第三方库,可在 GitHub 上找到。