gpt4 book ai didi

ios - 用空字符串替换字典数组中的 NSNull 值

转载 作者:行者123 更新时间:2023-11-28 05:37:18 25 4
gpt4 key购买 nike

我有一个这样结构的数组,

[
{
"Id": 20,
"Name": "Name String",
"Email": null
},
]

我想用空字符串替换出现的空值。我尝试了如下的 map 方法,但没有成功。

let tempResult = recordsList.map{ $0 is NSNull ? "" : $0 }

最佳答案

您的结构是一个字典数组。映射时,每个元素都是一个字典。使用该字典构建一个新字典,其中 NSNull 已被空字符串替换:

let recordsList: [[String : Any]] = [
[
"Id": 20,
"Name": "Name String",
"Email": NSNull()
]
]


let result: [[String : Any]] = recordsList.map { dict in
var newdict = [String : Any]()
for (k, v) in dict {
newdict[k] = v is NSNull ? "" : v
}
return newdict
}

print(result)
[["Email": "", "Id": 20, "Name": "Name String"]]

这也可以通过使用 Dictionary(uniqueKeysWithValues:) 来完成并通过映射字典将空值更改为空字符串:

let result: [[String : Any]] = recordsList.map { dict in
Dictionary(uniqueKeysWithValues: dict.map { (k, v) in (k, v is NSNull ? "" : v) })
}

您的问题带有 NSDictionary 标记。这可以通过一些更改来适应:

let result: [NSDictionary] = recordsList.map { dict in
Dictionary(uniqueKeysWithValues: (dict as! [AnyHashable : Any]).map { (k, v) in (k, v is NSNull ? "" : v) }) as NSDictionary
}

关于ios - 用空字符串替换字典数组中的 NSNull 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58257286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com