问题标签 [encodable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 试图在 Swift 中编写一个可编码的类,但格式不正确?
我正在创建一个符合可编码的类。
我有这个:
这显然很好。
我创建一个实例Attribute
并使用以下方法对其进行编码:
然后我创建一个包含这些属性的数组并使用
这将对 to 的数组进行Attribute
编码Data
。
然后我尝试将Data
对象转换回Attribute
使用这个的数组:
我得到的第一个错误是:
从“属性”转换为不相关类型“数组<属性>”总是失败
如果我移除铸件,我会在解码尝试时发现此错误......
可选(“数据格式不正确。”)
有任何想法吗?
swift - 为 URL 类型实现 KeyedDecodingContainerProtocol
我正在开发一个项目来创建一个自定义Decoder
来处理非 JSON 数据。
要解码的数据可以是URL
s 或String
s。例如:
为了处理这种类型的解码,我实现了一个名为 的类KeyedContainer
,它实现了KeyedDecodingContainerProtocol
.
对于 aString
非常简单,因为我可以使用以下方法:
相反,我需要URL
依赖以下内容:
在其中,我执行以下操作:
where是直接从自定义解码器configuration
传递给的结构。KeyedContainer
这是正确的方法吗?我不确定的是as! T
为了让编译器开心而进行的演员阵容。
ios - 多部分请求 - 带有 UIImage 的可编码结构
使用 Swift 5,我试图减少很多依赖项(Alamofire),并且我试图了解如何在使用 Codable 和 URLRequest 时执行多部分请求
我的代码可以正常工作以创建具有名称和电子邮件的用户,但我需要将头像添加到结构中。
添加头像后,如何对结构进行编码以便成为多部分请求。我在网上找到了一些解决方案,但不适用于我正在尝试实施的场景。
下面的代码是没有头像的请求的工作代码。
json - 如何使用包含已编码值的 Encodable 在 Swift 中编码结构
想象一个如下的数据结构,其中包含contents
一个已编码的 JSON 片段的值。
期望的输出
组合数据结构应按contents
原样使用并进行编码other
。
使用Encodable
以下实现Encodable
编码Document
为 JSON,但它也重新编码contents
为字符串,这意味着它被包裹在引号中,并且所有"
引号都转义为\"
.
输出
怎么可能encode
就这样通过contents
?
swift - 为什么不符合协议可编码可解码?
我有以下代码结构。如果我省略了 codingkey 部分,代码正在运行。我实现了 StringConverter 将字符串转换为 Int(来自 bySundell Swift Side)
正如我所说,如果我省略 Codingkeys 部分,它不会显示任何错误。我只需创建一个结构,从 Rest API 获取一个字符串,然后我想使用 Codable 为我的数据库转换一个 Int。谢谢阿诺德
json - 如何快速将此异构对象与模型映射?
好的,所以我被困在用这个模型解码这个特定 json 的最后一项,“有效载荷”总是为零,在这个“有效载荷”对象中,我可以制作自己的 json 结构,我能够解码“文本”但是当涉及到最后一项“有效负载”时,它不起作用并且始终为零。
我没有使用任何第三方库。
我的模型课。
这个 json 是我从 dailogeflow(V2) 中得到的。我正在应用程序中集成一个聊天机器人。
ios - 如何将 [JSON] 转换为数据格式(编码),以便我可以将它与我的模型绑定
我有 [JSON] 数组格式的数据,我需要基于 JSON 创建模型并需要绑定它们
我尝试对 [JSON] 进行编码,但应用程序崩溃并显示错误消息
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“JSON 写入中的类型无效 (__SwiftValue)”
我创建了一个基于 JSON 数据的模型,并希望将它们与 [JSON] 数组值绑定
JSON是
基于模型的结构
swift - 类型“缓存”不符合协议“可编码”
我一直在关注这里找到的关于Caching in Swift的指南。
我目前收到错误Type 'Cache' does not conform to protocol 'Encodable'
这对我来说毫无意义,因为我遵循了这封信的指南,我发现有几个人在 GitHub 上使用相同的缓存,我相信我的输出与他们的匹配。
为什么“缓存”不符合?
我添加了下面教程中创建的完整类 -
json - 没有嵌套超类的 Swift 编码类
摘要: 我想对我的超类的所有字段进行编码,而不将它们嵌套在 json 结果中。
这就是我的意思:
假设我们有这些结构:
现在我们决定GiftEmployee
像这样编码一个对象:
打印出来giftString
给我们以下输出:
如您所见,我们的 BasicEmployee 超类的所有属性都嵌套在"employee"
json 字段中。
但是,我不希望那样。我希望的输出giftString
如下:
结构的属性BasicEmployee
不应嵌套,并且与GiftEmployee
结构的编码属性处于同一级别。
笔记
我知道我可以通过改变结构的结构来避免所有的麻烦,但是,这现在是不可能的。
我将非常感谢我能在我的问题上获得的任何帮助。
json - 为什么 JSONEncoder 与枚举键字典的工作方式不同?
当我使用JSONEncoder
这样的结构时:
我items
按预期将属性作为 JSON 对象:{"a": 1, "b": 2, "c": 3}
. 但是当我对这样的键使用枚举时:
我得到items
JSON 数组:["a", 1, "b", 2, "c", 3]
. 这非常令人困惑,而且我也找不到有关此行为的任何文档。
有一种方法可以通过将此类字典包装到结构中并实现 Encodable 协议来使此代码正常工作,但也许有简单的方法可以做到这一点?