快速从字典数组中创建字符串数组

Posted

技术标签:

【中文标题】快速从字典数组中创建字符串数组【英文标题】:Creating array of string from the array of dictionaries in swift 【发布时间】:2020-06-12 06:40:52 【问题描述】:

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

您的帮助将不胜感激。

【问题讨论】:

到目前为止你做了什么?你研究过并尝试解码 json,研究过如何迭代数组或如何在 swift 中使用高阶函数? 【参考方案1】:

首先,您需要创建结构来解码 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 后,您可以使用 map 函数获取所需的数组:

stringArray = decodedData.data.map  
   var string = $0.name
   if $0.last_name != nil  
      string.append(" ")
      string.append($0.last_name!)
   
   return string

【讨论】:

以上是关于快速从字典数组中创建字符串数组的主要内容,如果未能解决你的问题,请参考以下文章

如何从单引号数组中创建数组

VBA:从数组中创建选定的字符串

如何从字符串数组在 json 字符串中创建层次结构?

从字典列表中创建NumPy记录数组的最简单方法?

我不知道如何从字符串、整数或变量中创建一个特定的数组

试图从一个 np 数组中创建一个可读的 txt 文件,全部打印在一行上?