gpt4 book ai didi

ios - 快速将 JSON 转换为 ManagedObject 以获得可选参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:08 24 4
gpt4 key购买 nike

我有以下格式的 json 数据:

{
"AvailToDate": "2016-12-31 00:00:00.0",
"CompanyName": "Google",
"ShowroomName": "Mobile Phones",
"OwnerUserId": "OID1544234",
"PartyId": "APL026306123",
"Currency": "USD",
"ProductCount": 10,
"AvailFromDate": "2016-12-20 00:00:00.0",
"MaxPrice": 10,
"MinPrice": 1,
"ShowroomId": 11904,
"AccessStatus": "Open"
}

我能够将上述对象数组转换为 Dictionary 对象数组。然后我将字典对象转换为核心数据实体。

这是我将 Dictionary 对象转换为 ManagedObject 的代码

let showroom = Showroom(context: bgContext)

showroom.availableFromDate = (tShowroom[kAvailFromDate] as? String)?.toDate()
showroom.minPrice = tShowroom[kMinPrice] as? Float
showroom.showroomID = tShowroom[kShowroomId] as! Int32
showroom.accessStatus = tShowroom[kAccessStatus] as? String
showroom.availableToDate = (tShowroom[kAvailToDate] as? String)?.toDate()
showroom.companyName = tShowroom[kCompanyName] as? String
showroom.showroomName = tShowroom[kShowroomName] as? String
showroom.ownerID = tShowroom[kOwnerUserId] as? String
showroom.partyID = tShowroom[kPartyId] as? String
showroom.currency = tShowroom[kCurrency] as? String
showroom.productsCount = tShowroom[kProductCount] as! Int32
showroom.maxPrice = tShowroom[kMaxPrice] as? Float

如果接收到的JSON中有些参数是缺失的,我们该如何解析对象。我是否必须将我的 ManagedObject 中的所有参数设置为可选?我不想对每个参数都使用“if let”或“guard”。实现它的最佳方法是什么?

最佳答案

您可以使用 ?? 语法简单地向变量添加“默认值”

假设你想将最低价格设置为 10.2,如果没有从 json 返回值,那么这样做:

showroom.minPrice = tShowroom[kMinPrice] as? Float ?? 10.2

或者对于字符串:

showroom.accessStatus = tShowroom[kAccessStatus] as? String ?? "Default String"

关于ios - 快速将 JSON 转换为 ManagedObject 以获得可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41313157/

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