从 swift 中的字典数组创建字符串数组

Creating array of string from the array of dictionaries in swift

我有 JSON 回复如下:

{
    "status": true,
    "data": [
        {
            "id": 2,
            "name": "demo",            
            "last_name": "test"
        },
        {
            "id": 6,                
            "name": "test",                
            "last_name": null
        },
        {
            "id": 15,
            "name": "test",                
            "last_name": null
        }
    ],
    "message": "List fetched successfully"
}

根据上面的回复,我想创建一个字符串数组,它是键值的组合

name

last_name

来自上述回复。如何实现如下所示的字符串数组:

["<name last_name>","<name last_name>","<name last_name>"]

我们将不胜感激。

首先,您需要创建结构来解码 JSON(请注意,如果它不是 nil,我只是附加 last_name):

struct Model: Codable {
   let status: Bool
   let data: [DataEntry]
   let message: String
}

struct DataEntry: Codable {
   let id: Int
   let name: String
   let last_name: String?
}

解码 JSON 后,您可以使用映射函数获取所需的数组:

stringArray = decodedData.data.map { 
   var string = [=11=].name
   if [=11=].last_name != nil { 
      string.append(" ")
      string.append([=11=].last_name!)
   }
   return string
}