问题标签 [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.

0 投票
1 回答
38 浏览

swift - 通过注入仅符合 Encodable 协议的类来创建 Encodable 类

我正在构建网络模块,该模块使用Body将被编码为 url 请求正文的类。我想Body使用符合 Encodable 协议的任何类进行初始化,在我的情况下,它是MyDevice符合的类DeviceEncodable,它是定义我的 url 请求所需的一切的协议。MyDevice该类已经从另一个名为 的类继承,SpecialClass因此我只能使其符合协议,因为 swift 不允许从多个类继承。问题是当我初始化BodyDeviceEncodable我得到错误“类型'Body'不符合协议'Encodable'”我明白这是因为DeviceEncodable可以是类但也可以是其他一些符合它的协议。DeviceEncodable 作为财产使用的正确解决方案是什么Body函数,因此它将被正确编码而无需继承?这是Samble代码:

0 投票
1 回答
54 浏览

swift - 带有动态键的 Swift 可编码递归枚举

我正在尝试为动态数据编写一个结构。数据的键是未知的,它们的值也是未知的。结构如下所示:

这样做的目标是能够像这样解码 JSON:

并具有以下代码:

编码为上述 JSON 输出。

这在 Swift 中可能吗?如果是这样,实现会是什么样子?

提前谢谢了。

0 投票
1 回答
59 浏览

swift - 编码字典而不在 Swift 中添加编码键枚举

我想编码一个可能是

或者

编码类如下所示

如何对请求进行编码以便获得所需的结果?目前,如果我这样做

我明白了

而且我不想要 JSON 中的“内容”。已经研究
过 Swift Codable:使用动态键编码结构, 但不知道如何在我的用例中应用

0 投票
0 回答
40 浏览

swift - Struct 中的 Codable 属性不允许 Struct 符合 Codable

我有一个需要符合“可编码”的结构。结构本身必须有一个对象,该对象也可以符合“可编码”。但是,这会阻止结构符合“可编码”本身。

例子:

我在这里缺少什么可以允许这种行为吗?

编辑:

正如@Sweeper 指出的那样,在编译时不知道类型message是什么。所以我必须提供自定义编码/解码逻辑,以便可以在运行时解决。为此,我使用“方法”字符串的值来尝试对不同模型进行编码/解码。我想您也可以按顺序尝试不同的模型,直到其中一个起作用。

解决方案: