- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经从 [ https://jsonmaster.github.io/#][1] 创建了一个模型类这个链接可编码,我收到这种错误无法将类型“[[BookingMasterModel]?]”的值转换为预期的参数类型“[BookingMasterModel].Type”其实我对它很陌生,如果有解决方案请分享
//我的订单模型
import Foundation
struct MyOrdersModel: Codable {
let BookingMasterModel: [BookingMasterModel]?
let RESPONSE: String?
let RESID: String?
private enum CodingKeys: String, CodingKey {
case BookingMasterModel = "BookingMasterModel"
case RESPONSE = "RESPONSE"
case RESID = "RES_ID"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
BookingMasterModel = try values.decodeIfPresent([BookingMasterModel].self, forKey: .BookingMasterModel)
RESPONSE = try values.decodeIfPresent(String.self, forKey: .RESPONSE)
RESID = try values.decodeIfPresent(String.self, forKey: .RESID)
}
func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(BookingMasterModel, forKey: .BookingMasterModel)
try container.encodeIfPresent(RESPONSE, forKey: .RESPONSE)
try container.encodeIfPresent(RESID, forKey: .RESID)
}
}
这个 Booking Master 模型
import Foundation
struct BookingMasterModel: Codable {
let AMOUNT: String?
let APPTDATE: String?
let CANCELLEDON: String?
let COUNT: String?
let DATE: String?
let MOBILE: String?
let NAMES: String?
let ORDERBY: String?
let ORDERMODE: String?
let ORDERNO: String?
let REMINDER: String?
let SERVICEDON: String?
let STATUS: String?
private enum CodingKeys: String, CodingKey {
case AMOUNT = "AMOUNT"
case APPTDATE = "APPT_DATE"
case CANCELLEDON = "CANCELLED_ON"
case COUNT = "COUNT"
case DATE = "DATE"
case MOBILE = "MOBILE"
case NAMES = "NAMES"
case ORDERBY = "ORDER_BY"
case ORDERMODE = "ORDER_MODE"
case ORDERNO = "ORDER_NO"
case REMINDER = "REMINDER"
case SERVICEDON = "SERVICED_ON"
case STATUS = "STATUS"
}
init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)
AMOUNT = try values.decodeIfPresent(String.self, forKey: .AMOUNT)
APPTDATE = try values.decodeIfPresent(String.self, forKey: .APPTDATE)
CANCELLEDON = try values.decodeIfPresent(String.self, forKey: .CANCELLEDON)
COUNT = try values.decodeIfPresent(String.self, forKey: .COUNT)
DATE = try values.decodeIfPresent(String.self, forKey: .DATE)
MOBILE = try values.decodeIfPresent(String.self, forKey: .MOBILE)
NAMES = try values.decodeIfPresent(String.self, forKey: .NAMES)
ORDERBY = try values.decodeIfPresent(String.self, forKey: .ORDERBY)
ORDERMODE = try values.decodeIfPresent(String.self, forKey: .ORDERMODE)
ORDERNO = try values.decodeIfPresent(String.self, forKey: .ORDERNO)
REMINDER = try values.decodeIfPresent(String.self, forKey: .REMINDER)
SERVICEDON = try values.decodeIfPresent(String.self, forKey: .SERVICEDON)
STATUS = try values.decodeIfPresent(String.self, forKey: .STATUS)
}
func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(AMOUNT, forKey: .AMOUNT)
try container.encodeIfPresent(APPTDATE, forKey: .APPTDATE)
try container.encodeIfPresent(CANCELLEDON, forKey: .CANCELLEDON)
try container.encodeIfPresent(COUNT, forKey: .COUNT)
try container.encodeIfPresent(DATE, forKey: .DATE)
try container.encodeIfPresent(MOBILE, forKey: .MOBILE)
try container.encodeIfPresent(NAMES, forKey: .NAMES)
try container.encodeIfPresent(ORDERBY, forKey: .ORDERBY)
try container.encodeIfPresent(ORDERMODE, forKey: .ORDERMODE)
try container.encodeIfPresent(ORDERNO, forKey: .ORDERNO)
try container.encodeIfPresent(REMINDER, forKey: .REMINDER)
try container.encodeIfPresent(SERVICEDON, forKey: .SERVICEDON)
try container.encodeIfPresent(STATUS, forKey: .STATUS)
}
}
最佳答案
我建议您在不对 key 进行编码的情况下使用您的结构,因为 Codable 协议(protocol)可以为您做到这一点。
但是你的错误来自结构属性的错误命名。您将 MyOrdersModel 属性命名为 BookingMasterModel
与 BookingMasterModel
相同。将此变量名替换为小写大写字母。
let bookingMasterModel: [BookingMasterModel]?
还将所有属性的let
关键字替换为var
var bookingMasterModel: [BookingMasterModel]?
var RESPONSE: String?
var RESID: String?
在 BookingMasterModel
结构中做同样的事情。
现在,最后删除所有编码键和初始化以使其更容易。
struct MyOrdersModel: Codable {
var bookingMasterModel: [BookingMasterModel]?
var RESPONSE: String?
var RESID: String?
}
struct BookingMasterModel: Codable {
var AMOUNT: String?
var APPTDATE: String?
var CANCELLEDON: String?
var COUNT: String?
var DATE: String?
var MOBILE: String?
var NAMES: String?
var ORDERBY: String?
var ORDERMODE: String?
var ORDERNO: String?
var REMINDER: String?
var SERVICEDON: String?
var STATUS: String?
}
注意:您可以阅读有关 Swift 命名约定的更多信息 here
关于ios - 无法将类型 '[[ModelName]?]' 的值转换为预期的参数类型 '[ModelName].Type',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53516513/
我已经通过流利的提供者的正确方法使用 vapor(服务器端) 和 PostgreSQL 为我的模型(Swift) 建立关系provider(database),我按照fluent的一般方法,但是不知道
我已经从 [ https://jsonmaster.github.io/#][1] 创建了一个模型类这个链接可编码,我收到这种错误无法将类型“[[BookingMasterModel]?]”的值转换为
请有人向我解释 Doctrine 自动生成文件之间的区别 .class.php和 Table.class.php ?例如在 Jobeet 教程中有 JobeetJob.class.php 和 Jobe
尝试使用 Automapper 对按两个属性分组的分组查询进行投影时出现以下错误 Missing map from IGrouping`2 to PlayerWarScore. Create usin
我正在尝试加载这个模型: class Menu { function show_menu() { $obj =& get_instance(); $ob
所以我正在尝试申请 Darin Dimitrov's answer ,但在我的实现中 bindingContext.ModelName 等于“”。 这是我的 View 模型: public class
我有一个名为 TemplateImages 的模型类,它保存对我媒体文件夹中图像的引用。 我想在 html 文件中循环显示图像。 这是我的 models.py 代码: class TemplateIm
我试图在 CakePHP 中的 find 方法返回的结果数组中去除多余的模型名称。现在,如果我要执行类似 $results = $this->Model->find('all') 的操作,我将不得不通
我需要使用环回从模型实例中获取模型名称。有什么想法吗? var myAccount = new app.models.Account({name: 'ACME'}); var modelName =
试图通过Elasticsearch和Tire在Heroku生产中部署Rails应用。 Heroku盆景插件已添加,但仍在运行此命令后 heroku run rake environment tire:
即使我们正常创建对象它在操作管理中工作,那么为什么我们在创建对象时使用搜索参数? 我不明白在创建 modelobject 时发送 id 以及搜索的以下代码的用法 $model=new ModelNam
我正在尝试创建一个类似于 - HCL/LF/02/2018 的发票编号,其中新发票的编号将增加 1。有人可以帮我获得预期的invoice_no吗?我在我的 Controller 中尝试了类似的操作 -
Member.afterRemoteError('assignDepartment', function (ctx, next) { console.log("in after remote
我想从表中查找与 api 中传递的 Id 相关的值。当使用 findByID 查找一条记录时,出现错误。 TypeError: Modelname.findById is not a function
我检查了一段代码,其中模型中写了一个关联。 has_many :association_name, -> { merge(ModelName.real) }, class_name: ModelNam
目前,我使用 Node Js 13 和 ORM Sequelize v5 以及 ES6 中的所有这些(通过 package.json 中的“type”:“module”)实现了一个 API。 在这个项
我有一个可以响应 HTML 和 JSON 客户端请求的 rails 3 Controller 。这个 Controller 有一个“create”方法,它创建一个新的“用户”模型对象,其值发布在 pa
下面的代码从另一个模型访问一个模型,返回未定义 var app = require('../../server/server'); module.exports = function(Regions)
我正在尝试使用 Steve Sanderson's blog post关于编辑可变长度列表。我已经通过 NuGet 包管理器安装了 dll,并确保命名空间位于 Views/web.config 文件中
我有一个 Asp.net MVC - C# 项目,想在项目中使用之前使用 LINQPad 测试它的一些 Entity Framework 语句。 项目有不同的类库如 DAL(包括 Applicatio
我是一名优秀的程序员,十分优秀!