問題タブ [circe]
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 - オブジェクトを明確にせずに circe で ADT をデコードする方法
次のような ADT があるとします。
CirceDecoder[Event]
のインスタンスのデフォルトの一般的な派生では、入力 JSON に、どのケース クラスが表されているかを示すラッパー オブジェクトが含まれていることが想定されます。
この動作は、2 つ以上のケース クラスが同じメンバー名を持っている場合にあいまいさを心配する必要がないことを意味しますが、常に望んでいるとは限りません。各ケース クラスを試す必要があります。
ラッパーなしで ADTをエンコードおよびデコードするにはどうすればよいですかEvent
(できれば、エンコーダーとデコーダーを最初から作成する必要はありません)。
(この質問はかなり頻繁に出てきます。たとえば、今朝の Gitterに関する Igor Mazor とのディスカッションを参照してください。)
scala - scalaz.Maybe 用の Circe デコーダー
これは、circe をデコーダーとして使用する単純なフィンチ サーバーです。
を に変更するmyValue
とOption
、すぐに使用でき、上記のコードと同じ結果が得られます。ただし、次のように変更しますscalaz.Maybe
。
結果:
Response("HTTP/1.1 Status(400)"): {"メッセージ":"本文を Test に変換できません: CNil: El(DownField(myValue),true,false)."}
必要なエンコーダー/デコーダーをどのように実装すればよいですか?