zio-json
zio-json copied to clipboard
Fast, secure JSON library with tight ZIO integration.
- Is this a deliberate decision, or just was not thought of? - I see there is this `suspend` function, which will at least defer on `unsafeDecodeMissing`, but then as...
Updates [org.scalameta:scalafmt-core](https://github.com/scalameta/scalafmt) from 2.7.5 to 3.5.9. [GitHub Release Notes](https://github.com/scalameta/scalafmt/releases/tag/v3.5.9) - [Version Diff](https://github.com/scalameta/scalafmt/compare/v2.7.5...v3.5.9) I'll automatically update this PR to resolve conflicts as long as you don't change it yourself. If you'd...
I do understand, that the main way to create en-/decoders are macros. But in my experience, you always have some cases, where you'd like to have some custom ones. I...
Hi, `zio-json` does not appear to provide automatic derivation support for `scala-3` enum currently 🥲, but still requires manual writing of `JsonDecodec` and `JsonEncodec` as follows: ```scala case class Move(distance:...
A workaround is: ```scala implicit def arraySeqDecoder[A](implicit decoder: JsonDecoder[A], ct: ClassTag[A]): JsonDecoder[ArraySeq[A]] = (trace: List[JsonError], in: RetractReader) => { val builder = ArraySeq.newBuilder[A] Lexer.char(trace, in, '[') var i: Int =...
It would be great to be able to manually change field names without using annotations. This way it would be easier to separate a case class and its serialization.
Given this case classes: ```scala @jsonDerive case class A[T](key1: Int, key2: T) @jsonDerive case class B( key1: Int, key2: Int, key3: Int, ) ``` this compiles and works fine: ```scala...
Hi, according to [ISO 8601 Time offset from UTC](https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC) offsets should be expressible, for example, as "+03", "+03:00" and "+0300". However, the last case is not handled correctly, at least...
Updates * [org.scala-lang:scala-library](https://github.com/scala/scala) * [org.scala-lang:scala-reflect](https://github.com/scala/scala) from 2.12.14 to 2.12.16. [GitHub Release Notes](https://github.com/scala/scala/releases/tag/v2.12.16) - [Version Diff](https://github.com/scala/scala/compare/v2.12.14...v2.12.16) I'll automatically update this PR to resolve conflicts as long as you don't change it...
When sandboxing a ZIO application, it could be quite useful to be able to transform the obtained **Cause** to JSON to then place it in some payload and return it...