问题标签 [decodable]
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.
struct - 如何在 Swift 4 中引用通用的可解码结构
我有一个我想重用的函数,并让它接受 Decocable 结构的参数。例如,这是我当前代码的简化(假设“MyDecodableStruct”是应用程序其他地方声明的可解码结构):
而不是说“MyDecodableStruct”,我希望它是我作为参数传入的任何可解码结构。像这样的东西:
我会这样称呼它
我无法弄清楚如何让它工作的语法。我得到的错误是
有关处理此问题的最佳方法的任何想法?
ios - Swift 4 JSON 解码器
我知道其他问题已经涵盖了这一点,但我已经关注了它们,但我仍然感到困惑。这是我的 JSON 结构:
等等......但这与结构一样深。每个 JSON 响应中有多个“段”返回。在 Swift 我有这个代码。
这失败并抛出错误,但错误打印为 nil ..所以我不知道我错过了什么。dataAsString 按预期打印出 JSON,所以我知道“数据”很好。
swift4 - Swift 4 Decodable - 将 JSON 对象解码为“数据”
我有以下数据结构:
这是我的解码课程:
我正在获取一组这样的对象,这就是我解码它的方式:
但是我在控制台中收到此错误:
typeMismatch(Swift.Array, Swift.DecodingError.Context(codingPath: [Foundation.(_JSONKey in _12768CA107A31EF2DCE034FD75B541C9)(stringValue: "Index 0", intValue: Optional(0)), Playground_Sources.UntypedObject.UntypedObjectKeys.data], debugDescription: "预期解码 Array 但找到了字典。”,基础错误:无))
所以问题是是否有可能将正确的 JSON 对象解码为Data
类型化属性,如果是这样 - 我该如何实现呢?
arrays - Swift 4 JSON 可解码多维和多类型数组
好的,这是我从服务器收到的 json 格式
现在我想将它解码到我的结构中,但仍然没有运气。
我在 URLSession 上的调用者方法看起来像这样
我得到的错误是
我知道数组中有一个 int 并且我只为值转换 String var values: [[String]]?
(这个错误弹出的原因),但我根本不能在我的结构中使用任何多维数组或元组,因为它遵循可解码的协议。
我也无法将数据转换为字典,因为它会抛出错误“预期解码字典但找到数组”
关于解决这个问题的任何想法?我尝试在数据上转换字符串类型,但仍然没有运气......
p/s:如果所有的 json 格式都是字符串类型的,就没有问题,但是我没有更改它的权限,因为我是从 API 调用它的。
json - JSON解码器-带字符串的解码错误
在使用可解码协议在 Swift 4 中创建 DotA2 iOS 应用程序时,我遇到了这个错误。
keyNotFound(DotaPal.MatchPlayerDetail.CodingKeys.personaname, Swift.DecodingError.Context(codingPath: [DotaPal.MatchDetail.CodingKeys.players, Foundation.(_JSONKey in _12768CA107A31EF2DCE034FD75B541C9)(stringValue: "Index 0", intValue: Optional(0))] , debugDescription: "没有与 key personaname (\"personaname\") 关联的值。",底层错误: nil))
尽管我不知道为什么,但解码“personaname”似乎有问题。我过去使用过带有更复杂 json 的解码器,但在看了一会儿之后似乎找不到解决方案:/。
这是整个结构中涉及的结构以及试图解码的 json 的链接。 JSON 试图被解码
arrays - Swift4 - 数组的 JSON 可解码问题(不能下标值)
我正在使用 Swift 4 Decodable 解析天气 JSON,但数组数据存在问题。我想我可能对模型有点错误(因为有一堆可解码的结构),请帮忙。
来自天气 API 的 JSON 数据:
模型:
使用 JSONDecoder 解析 JSON 数据:
错误消息:无法使用“字符串”类型的索引为“数组”类型的值下标。
我怎样才能解决这个问题?如何解析天气数组元素?
ios - 可编码对象将数组元素映射到字符串
我有一个(烦人的)情况,我的后端返回一个像这样的对象:
其中每个属性都是一个数组,其中包含一个字符串作为其第一个元素。在我的数据模型struct
中,我可以将每个属性声明为一个数组,但这真的很难看。我希望我的模型是这样的:
但这当然会使编码/解码失败,因为类型不匹配。到目前为止,我使用ObjectMapper
的库提供了一个Map
对象和currentValue
属性,我可以将我的属性声明为String
类型,并在我的模型init
方法中通过这个函数分配每个值:
但是现在我正在转换为Codable
方法,我不知道如何进行这种映射。有任何想法吗?
ios - 可解码:过滤数组中解码失败的项目
由于人 B 是唯一格式错误的对象,如何确保我只过滤掉下面的人 B?
currentIndex
关于状态的文档UnkeyedDecodingContainer
:
容器的当前解码索引(即下一个要解码的元素的索引)。在每次成功的解码调用后递增。
似乎如果您尝试使用 过滤解码失败try?
,它永远不会进入数组中的下一个元素。
但是如何做到这一点呢?请注意,JSON 的结构不能更改。
产生输出:
json - 使用可解码(嵌套数组)解析不同的 JSON
我正在开发来自 NiceHash api 的应用程序。我必须使用的 JSON 如下所示:
用于解析制作这样的结构
响应等于 nil,我不明白我做错了什么,我知道问题在于解析工人数组,因为如果我评论工人,响应等于一些有效数据。感谢帮助!
ios - 如何在 Swift 4 可编码协议中使用 JSON 字典类型对属性进行编码
好吧,我的问题很简单。我想做与此答案相同的操作,但要进行编码: How to decode a property with type of JSON dictionary in Swift 4 decodeable protocol
该解决方案适用于解码,但我还需要编码Dictionary<String, Any>
我不知道如何编写扩展KeyedEncodingContainer
和其他扩展,以及编写什么方法。