Swift解析JSON数据生成Objective-C属性并输出

在Swift开发中,经常需要将JSON数据转换为Objective-C属性,尤其是在与服务器交互时。这一过程主要涉及序列化和反序列化操作,即将JSON字符串转换为Swift或Objective-C对象以便后续处理。

Swift的Decodable协议允许自定义类型解析JSON数据。为实现JSON数据到Objective-C属性的自动转换,需创建一个对应的Swift类或结构体,声明与JSON键值匹配的属性,并遵循Decodable协议。例如:

import Foundation

struct User: Decodable {
    let name: String
    let age: Int
    let email: String
}

示例中,User结构体包含nameageemail三个属性,分别对应JSON对象中的键。

接下来,使用JSONDecoder解析JSON数据。假设有如下JSON字符串:

{
    "name": "John Doe",
    "age": 30,
    "email": "john.doe@example.com"
}

以下代码将JSON数据转换为User对象并输出到控制台:

let jsonString = """ 
{
    "name": "John Doe",
    "age": 30,
    "email": "john.doe@example.com"
} 
"""

if let jsonData = jsonString.data(using: .utf8) {
    do {
        let decoder = JSONDecoder()
        let user = try decoder.decode(User.self, from: jsonData)
        print(user)
    } catch {
        print("JSON解析错误")
    }
}

这段代码首先将JSON字符串转换为Data类型,然后使用JSONDecoder将其解码为User对象。最后,将转换后的用户信息打印到控制台。

zip 文件大小:465.51KB