swift5 Foundation.Data 数据解析
时间: 2024-03-11 20:51:31 浏览: 14
Swift 5 中的 Foundation 框架中包含了一个 Data 类型,这个类型可以用来表示二进制数据。对于数据解析,我们可以使用 JSONDecoder 来将 JSON 格式的数据解析为 Swift 中的对象。下面是一个简单的示例:
假设我们有一个 JSON 格式的数据:
```
{
"name": "Tom",
"age": 20
}
```
我们可以定义一个对应的 Swift 结构体来表示这个数据:
```
struct Person: Codable {
var name: String
var age: Int
}
```
然后使用 JSONDecoder 来解析这个数据:
```
let jsonString = "{\"name\": \"Tom\", \"age\": 20}"
let jsonData = jsonString.data(using: .utf8)!
let decoder = JSONDecoder()
do {
let person = try decoder.decode(Person.self, from: jsonData)
print(person.name) // 输出 "Tom"
print(person.age) // 输出 20
} catch {
print(error.localizedDescription)
}
```
在上面的代码中,我们首先将 JSON 格式的字符串转换为 Data 类型的数据,然后使用 JSONDecoder 的 decode 方法将这个数据解析为 Person 结构体。需要注意的是,Person 结构体必须遵循 Codable 协议,这样才可以使用 JSONDecoder 进行解析。如果解析失败,我们可以通过捕获错误并输出错误信息来进行调试。