【发布时间】:2019-11-01 08:33:57
【问题描述】:
我之前发表过一篇关于如何将 json 数据保存在模型 here 中的帖子。
很好,现在我正在用 swift 在 iOS 上开发一个项目,我遇到了以下问题,有时数据库管理员会不断更改列的名称,我只在 Alamofire 的帮助下使用服务,要在模型中保存数据,请使用 camal 案例和蛇案例,目前一切都很好,但我想知道在 swift 模型中保存 json 数据的最佳方法是什么,以我的经验在 Android 中,我使用了 @Serializename 的改造,效果很好,因为如果修改了服务的 json 属性,我只需要更新一行代码并且我的变量可以保持不变,这有助于我保持更好的秩序和它使它具有可扩展性。
在某些情况下,json 会来找我。
{
"price": "385.000000",
"nameusser": null,
"favorite": 43,
"short_nameProduct": "Génifique Repair Sc",
"description_product": "Génifique repair sc es la crema de noche antiedad de lancôme. Despiértese con una piel fresca y rejuvenecida con nuestra crema de noche.",
"alt": null,
"photo": "https://url/020021000112-1.png"
}
它会以以下方式生成我的模型。
struct Product : Codable {
let price : String?
let nameusser : String?
let favorite : Int
let shortNameProduct : [Product]
let description : [Galery]
let alt : Product
let success : Bool
}
这里的问题是我的变量必须适合我使用JSONDecoder()和convertFromSnakeCase的json,我不能自己定义它们。
在 java android 中我只需要这样做。
@SerializedName("price")
private String price;
@SerializedName("nameusser")
private String name;
@SerializedName("favorite")
private Int favorite;
@SerializedName("short_nameProduct")
private String shortName;
@SerializedName("description_product")
private String descriptionProduct;
@SerializedName("altitude")
private String altitude;
@SerializedName("photo")
private String photo;
我只需要创建 get 和 set 就可以使用模型了。 我需要知道如何在 swift 中做同样的事情,也许是一个库,可以帮助我以与我在 android 中相同的方式存储数据 json。 任何意见将不胜感激。
【问题讨论】:
标签: ios json swift model-view-controller model