问题标签 [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.
json - 使用可解码的 JSON 解析
我正在尝试使用可解码协议解析以下 JSON。我能够解析字符串值,例如roomName。但我无法正确映射/解析所有者、管理员、成员键。例如,使用下面的代码,我可以解析所有者/成员中的值是否以数组的形式出现。但在某些情况下,响应将以字符串值的形式出现(请参阅JSON 中的所有者键),但我无法映射字符串值。
注意:管理员、成员、所有者的值可以是字符串或数组(参见 JSON 中的所有者和成员键)
模型:
//所有者模型
//会员模型
json - 无法分配类型“[货币]?”的值 输入“[货币]?.Type”
我正在尝试解码具有可选数组的结构
编译错误1:
var Currencies = [Currency]?
==> 类型名称后的预期成员名称或构造函数调用
编译错误2:
self.Currencies = try productValues.decodeIfPresent([Currency].self,forKey:.Currencies)
==> 无法分配类型“[货币]?”的值 输入“[货币]?.Type”
不知道这里缺少什么,有人可以指出吗?
ios - JSONDecoder 不解析数据
我正在尝试从此 URL 获取数据
我做了一个struct
我的视图控制器顶部
出于某种原因,我总是返回 JSON ERROR,尽管一切似乎都是正确的。
ios - Swift Codable 将空 json 解码为 nil 或空对象
这是我的代码:
现在,调用服务器 API 我正在解析这样的响应(使用 Stuff 库来简化解析):
当我输入正确的密码时,我会得到这样的答案:
这很好,解析器工作正常。
提供错误密码时会给出以下答案:
在这种情况下,解析器失败。它应该将 data 设置为 nil,但相反,它会尝试将其解码为 LoginUserResponseData 对象。
我在使用改造的 Android 上使用相同的方法,它工作正常。我宁愿不想将所有字段都设为可选。
有没有办法让解析器将空 json {} 视为 nil?或者将 LoginUserResponseData 设置为非可选的,它只有默认值?我知道我可以为此创建一个自定义解析器,但是我有大量这样的请求,并且需要太多额外的工作。
json - Swift Codable:解码具有相同根对象的不同项目数组
我目前正在尝试解码如下所示的 JSON:
这种特定类型的 JSON 的解码过程非常简单。我只需要这样的东西:
现在我面临的问题是服务器的每个响应都具有与上述 JSON 相同的结构,但具有不同的项目类型。所以有时是这样,但如果我调用 User 端点let items: [Item]
也可能是这样。let items: [User]
因为如果我只需修改 items 数组就为每个端点编写上述 swift 代码,这将是不必要的代码重复,我创建了一个自定义解码器:
"items"
如果仅包含单个对象而不包含数组,则解码器可以完美运行:
如果items
是一个数组,我会收到以下错误:
typeMismatch(Swift.Dictionary, Swift.DecodingError.Context(codingPath: [__lldb_expr_151.KimaiAPIResponseKeys.result], debugDescription: "期望解码 Dictionary 但找到了一个数组。",底层错误: nil))
我只是不知道如何修改我的解码器以处理一系列项目。我使用 JSON 的工作版本和非工作版本创建了一个 Playground 文件。请看一下并尝试一下:Decodable.playground
谢谢您的帮助!
swift - 如果数据嵌套在 Swift 中,我如何解码响应数据
我在解码响应数据时遇到问题。这是我的请求功能
和城市结构
这是响应数据,我想解码“项目”
swift - 无法从解码器获取字典
我需要获取整个字典作为键“内容”的字符串。我将它作为 nil 接收。我尝试使用 [String:Any] 抛出异常,无法确认任何可解码
在下面的 json 中,我需要将整个内容作为字符串获取。我尝试过使用 [String:Any] 但它崩溃了,因为它提到任何不能符合可解码。
json - 在 SWIFT 4 中解析嵌套的 JSON
我目前正在 SWIFT 4 中使用 Decodable 解析 JSON。
JSON 格式如下:
我可以使用我的 Struct 轻松解析诸如 last_payment_ammount 或 last_payment_date 之类的内容:
我真正难以理解的是获取嵌套的东西。
例如,我如何使用“worker”变量获取例如可能放入数组的工作人员列表。或者解析一个工人的哈希值?
非常感谢
ios - 致命错误:字典不符合 Decodable 因为 Any 不符合 Decodable
我正在尝试使用 swift 4 来解析本地 json 文件:
这是我正在使用的功能:
但我不断收到错误:
致命错误:Dictionary 不符合 Decodable,因为 Any 不符合 Decodable。
我尝试在此 stackoverflow 页面上使用“AnyDecodable”方法:How to decode a property with type of JSON dictionary in Swift 4 decodeable protocol
但它会跳转到“catch”语句: catch { print("Local JSON not loaded")
使用时。有谁知道如何在 Swift 4 中解析这个 JSON 数据?
json - 在 Swift 4 中解析传入的 Json 数据
关于从服务器传入的 Json 数据,dataString
打印成功如下,
我想将其转换为以下格式以使用基于我的 Struct 的对象。
但是,当我print scannedNetworks
出现以下错误时
SWIFT代码;