問題タブ [codable]
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 - Swift 4 の JSONDecoder を使用すると、欠落しているキーがオプションのプロパティである代わりにデフォルト値を使用できますか?
Swift 4 では、新しいCodable
プロトコルが追加されました。私が使用JSONDecoder
すると、クラスのオプションではないすべてのプロパティがCodable
JSON にキーを持つ必要があるように見えます。そうしないと、エラーがスローされます。
クラスのすべてのプロパティをオプションにすることは、本当に必要なのはjsonの値またはデフォルト値を使用することであるため、不必要な面倒のように思えます。(プロパティをnilにしたくありません。)
これを行う方法はありますか?
ios - ネストされたものが配列でない限り、Swift `Decodable` はネストされた JSON オブジェクトに対して機能しません
私はいくつかの JSON 解析コードを新しい AppleDecodable
プロトコルを使用するように変換し始めており、Apple のテスト中に見逃すにはあまりにも基本的なブロッカーにぶつかったので、何かばかげたことをしているのではないかと思っています。要するに、私はこのような JSON グラフを解析しようとしています。私はデコードしているだけなので、Decodable に準拠するだけで十分だと思いましたが、エラーから、希望するものを取得するには Codable (Decodable & Encodable) に準拠する必要があるようです。デコード効果:
このケースで動作します:
ネストされたオブジェクトの配列ですが、単一のオブジェクトではありません。
これは Swift のバグですか、それとも何か問題がありますか?
問題を証明できるサンプルのプレイグラウンドを次に示します。Animal クラスが準拠してDecodable
いる場合、配列のケースは解析されませんが、Animal を準拠するように設定するCodable
と機能します。ここでは JSON をデコードしているだけなので、これが当てはまるとは思いません。