問題タブ [jsondecoder]

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 に答える
556 参照

ios - JSONは迅速に特定のキーのみを解析します

私はSwiftプログラミング言語でiOSアプリに取り組んでおり、
データは以下のJSON形式です:

上記のコードには特定のキーと値のペアがあり、後述の構造体オブジェクトで「alarmTransactions」の配列を取得することにのみ関心があります。

私のjsonには、私が興味のない他の多くの重要な値の詳細があるため、以下のコードは間違いなく失敗します。

「alarmTransactions」を [AlarmHistory] ​​オブジェクトに解析する方法を教えてもらえますか?

0 投票する
1 に答える
5570 参照

ios - JSONDecoder は常に「キー CodingKeys に関連付けられた値がありません」を返します

サーバーからのデータをデコードするために次のデコード構造体を使用していますが、常に「キー CodingKeys に関連付けられた値がありません」を返します。以下のコードをご覧ください

サーバーからの応答は

私が得ているエラーはDecodingErrorです

これはサーバーからの完全なデータです。

デコーダーコード:

0 投票する
1 に答える
398 参照

json - Swift - JSONDecoder に型を動的に渡す

一般的なネストされたオブジェクトを使用して json オブジェクトからデコードしようとしています。このために、デコード時にクラスのタイプを動的に渡したいと考えています。

たとえば、私のクラスは ObjectModel (および :Codable) を拡張する EContactModel と ENotificationModel です。ENotificationModel には、ネストされた ObjectModel (連絡先、通知、またはその他のオブジェクトモデル) を含めることができます。

次のような型の辞書があります。

ENotificationModel のデコード init メソッドは次のようになります。

私も type(of: anObjectInstanceFromADictionary) を渡そうとしましたが、まだ動作しませんが、 type(of: EContactModel()) を渡すと動作します。両方のオブジェクトが同じ (つまり、EContactModel のインスタンス) であるため、これを理解できません。

これに対する解決策はありますか?

0 投票する
2 に答える
166 参照

json - Swift Decoder を使用して JSON 配列から属性を取得します

この呼び出しを使用して作成された JSON 配列があります。

次のコードを使用して、配列内の JSON オブジェクトから要素を取得して表示しようとしています。

コードはコンパイルされますが、実行すると出力に次のエラーが表示されます。

タイプ '__NSDictionaryM' (0x1063c34f8) の値を 'NSData' (0x1063c1090) にキャストできませんでした。2018-08-09 09:41:02.666713-0500 TruckMeterLogScanner[14259:1223764] タイプ '__NSDictionaryM' (0x1063c34f8) の値を 'NSData' (0x1063c1090) にキャストできませんでした。

まだ調査中ですが、何かヒントがあれば教えてください。

0 投票する
1 に答える
506 参照

ios - JSONDecoder で空の日付文字列を処理する方法

私のjsonの日付パラメータは空にすることができます("")。JSONDecoder でそれを処理するには?

カスタムの dateDecodingStrategy は、異なる形式のみを処理できますが、空の値を処理することはできません (フォーマッターが返す日付はオプションにすることはできません)。

日付に値がある場合、完全に機能します。しかし、日付が "" の場合、クラッシュします。