【发布时间】:2021-05-17 08:55:08
【问题描述】:
我的项目有问题,当我的应用启动时,配置会自动从服务器更新,来自服务器的 json 是这样的:
{
"version":1
"config":
{
"key1": {xxx}
"key2": {xxx}
"key3": {xxx}
"key4": {xxx}
"key5": {xxx}
"key6": {xxx}
}
我使用ObjectMapper 将 json 转换为模型,如下所示:
struct GlobalConfig: Mappable {
var version = 0
var key1: [String: [LocalizedText]]?
var key2: [RouteObject]?
var key3: UrlConfig?
var key4: [String: [String: [[String: Any]]]]?
var key5: DegreeInfoList?
var key6: [String: String]?
init?(map: Map) { }
mutating func mapping(map: Map) {
version <- map["version"]
key1 <- map["key1"]
key2 <- map["key2"]
key3 <- map["key3"]
key4 <- map["key4"]
key5 <- map["key5"]
key6 <- map["key6"]
}
现在有一个问题,当来自服务器的json很大时,会消耗很多流量。事实上,有些配置不需要更新。所以来自服务器的 json 会是这样的:
{
"version":2
"config":
{
"key1": {xxx}
"key2": {xxx}
}
这意味着key1和key2将被更新,key3、key4、key5和key6保留旧值。
如何处理 JSON?
【问题讨论】:
-
在这种情况下,我会使用传统的
JSONSerialization,因为您可以枚举数据并更新现有模型。
标签: ios swift objectmapper