這個問題在這里已經有了答案: 如何在 Swift 4 的可解碼協議中使用自定義鍵? (4 個回答) 2 小時前關閉。
在閱讀了許多無法獲得它的資源之后,有兩個問題:嵌套資料,一個屬性的第二個名稱是“型別”,這不被迅速說與...沖突所接受。有人可以解決這個問題或在這里直接解釋正確的方式是json回應
"IsSuccess": true,
"Message": "Data Returned",
"ResponseData": [
{
"PackageId": 1025,
"PackageName": "Progesterone",
"Price": 00.0,
"DiscountedPrice": 1.0,
"Type": "Test",
"TestPackageGroupId": 3,
"SampleTypeList": [
{
"TestSampleTypeId": "50",
"SampleName": "Serum",
"ColourCode": "#FFB500"
}
]
},
{
"PackageId": 1916,
"PackageName": "24 hour Albumin creatinine ratio (ACR)",
"Price": 00.0,
"DiscountedPrice": 1.0,
"Type": "Test",
"TestPackageGroupId": 3,
"SampleTypeList": [
{
"TestSampleTypeId": "66",
"SampleName": "24 hrs Urine",
"ColourCode": "#212DC1"
}
]
},
如果我按原樣使用它,如何為屬性“型別”之上撰寫資料類是不可接受的
struct PriceListAll : Codable
{
let Message: String
let IsSuccess: Bool
let ResponseData: [ResponseData]
}
struct ResponseData:Codable
{
let PackageId: Int
let PackageName: String
let Price: Double
let DiscountedPrice: Double
let Type: String
let TestPackageGroupId: Int
let SampleTypeList: [SampleTypeList]
}
struct SampleTypeList:Codable
{
let TestSampleTypeId: Int
let SampleName: String
let ColourCode: String
}
錯誤:不能將型別成員命名為“Type”,因為它會與“foo.Type”運算式沖突
uj5u.com熱心網友回復:
名稱Type
是 swift 中的保留字,這就是您收到Error : Type member must not be named 'Type', since it would conflict with the 'foo.Type' expression
此錯誤訊息的原因。如果您的模型表示帶有名稱的鍵Type
,則必須像這樣使用它
let `Type`: String
uj5u.com熱心網友回復:
您可以將 Type 重命名為 responseType 并添加 enum CodingKeys 進行解碼。
struct ResponseData: Codable {
let responseType: String
enum CodingKeys: String, CodingKey {
case responseType = "Type"
}
}
uj5u.com熱心網友回復:
您可以隨意命名屬性,只需添加編碼鍵,以便解碼器知道在哪里找到它。
struct ResponseData: Codable {
let PackageId: Int
let PackageName: String
let Price: Double
let DiscountedPrice: Double
let MyCustomTypeName: String
let TestPackageGroupId: Int
let SampleTypeList: [SampleTypeList]
enum CodingKeys: String, CodingKey {
case PackageId
case PackageName
case Price
case DiscountedPrice
case MyCustomTypeName = "Type"
case TestPackageGroupId
case SampleTypeList
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/446378.html
上一篇:Json值到列