Skip to content

romshark/jscan-experimental-decoder

Repository files navigation

GoReportCard Coverage Status

Experimental JSON decoder based on jscan

⚠️ Don't use in production! ⚠️

This is an experimental JSON Unmarshaler/Decoder implementation for Go based on jscan. This decoder will be moved to jscan v3 once it's ready for production.

The jscan decoder is expected to be a backward compatible drop-in replacement for encoding/json.

Roadmap:

  • Primitive types
  • Struct types
    • Type struct{}
    • Recursive struct types
  • Slices
  • Arrays
  • Type any
  • Type map
    • string keys
    • encoding.TextUnmarshaler keys
    • Integer keys
  • JSON struct tags
    • Case-insensitive key matching (backward-compatibility feature of encoding/json)
    • Option DisallowUnknownFields
    • Option DisableFieldNameUnescaping
    • Option DisableCaseInsensitiveMatching
    • Option DisallowDuplicateNames
    • Struct tag option string
  • Pointers
  • Type Unmarshaler interface { UnmarshalJSON([]byte) error }
  • Type TextUnmarshaler interface { UnmarshalText(text []byte) error }
  • encoding/json compatible drop-in replacement package jscandec/std
    • encoding/json compatible error messages

About

This is an experimental JSON decoder for Go based on jscan

Topics

Resources

License

Stars

Watchers

Forks

Languages