swift-删除或替换 嵌套字典中的值

问题描述 投票:0回答:2

我有一些来自服务器的数据,并且我正在使用Alamofire SwiftyJSON将其转换为[String: Any]。然后使用SwiftyPlistManager将其保存到plist。关键是保存SwiftyPlistManager<null>崩溃,因此我需要将所有<null>nil替换为""

Alamofire SwiftyJSON之后的我的字典是这样的:

["info_editable": true,
 "name": Android Q,
 "is_message": true,
 "images": [["id": 92,
             "image": /media/product/102.png]],
 "video_description": <null>,
 "is_valid": true]

或者可能是-

["info_editable": true,
 "name": Android Q,
 "is_message": true,
 "images": <null>,
 "video_description": <null>,
 "is_valid": true]

我想使用原始数据中的Codable,但不知道如何将初始值设置为空字符串或[[]],然后检查解析后的数据是否为<null>,并将初始值保留为默认值。还是有什么办法列出嵌套字典以将<null>替换为""

swift swifty-json codable
2个回答
0
投票
1)将除字典数组之外的所有值字符串化,

2)检查字符串内容是否为“ null”,如果为true,则将其替换为""

3)字典数组,如果被字符串化,将有2个选项-带[[]](然后检查上述每个字典)或不带-如果是"images": <null>,(因此<null>应该替换为[[]]。但是我有大约7个具有不同数据的请求,应该以这种奇怪的方式进行解析,并且希望找到更漂亮的决定。

© www.soinside.com 2019 - 2024. All rights reserved.