在swift的字典数组中创建字符串数组。

问题描述 投票:-1回答:1

我有如下的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>"]

希望得到您的帮助。

arrays swift nsarray nsdictionary swift-dictionary
1个回答
1
投票

首先,你需要创建你的结构来解码JSON(注意,如果last_name不是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,你就可以使用map函数获得你想要的数组。

stringArray = decodedData.data.map { 
   var string = $0.name
   if $0.last_name != nil { 
      string.append(" ")
      string.append($0.last_name!)
   }
   return string
}
© www.soinside.com 2019 - 2024. All rights reserved.