Class JsonFastParser

All Implemented Interfaces:
JsonParser

public class JsonFastParser extends JsonParserCharArray
This works in index overlay mode or chop mode. Chop mode reduces possibility of memory leak but causes a few more buffer copies as it chops up the buffer.
  • Constructor Details

    • JsonFastParser

      public JsonFastParser()
      Creates a parser with eager value containers and lazy chopping.
    • JsonFastParser

      public JsonFastParser(boolean useValues)
      Creates a parser with the supplied value-container mode.
      Parameters:
      useValues - whether to use eager Value containers
    • JsonFastParser

      public JsonFastParser(boolean useValues, boolean chop)
      Creates a parser with explicit chopping behavior.
      Parameters:
      useValues - whether to use eager Value containers
      chop - whether to eagerly copy overlay slices
    • JsonFastParser

      public JsonFastParser(boolean useValues, boolean chop, boolean lazyChop)
      Creates a parser with explicit lazy chopping behavior.
      Parameters:
      useValues - whether to use eager Value containers
      chop - whether to eagerly copy overlay slices
      lazyChop - whether to defer chopping until values are accessed
    • JsonFastParser

      public JsonFastParser(boolean useValues, boolean chop, boolean lazyChop, boolean checkDates)
      Creates a parser with full overlay configuration.
      Parameters:
      useValues - whether to use eager Value containers
      chop - whether to eagerly copy overlay slices
      lazyChop - whether to defer chopping until values are accessed
      checkDates - whether strings should be tested for supported date formats
  • Method Details

    • decodeJsonObjectLazyFinalParse

      protected final Value decodeJsonObjectLazyFinalParse()
      Decodes an object using overlay values and deferred materialization.
      Returns:
      parsed object value container
    • decodeValue

      protected Value decodeValue()
      Decodes the next JSON value as an overlay Value.
      Overrides:
      decodeValue in class JsonParserCharArray
      Returns:
      parsed overlay value
    • decodeFromChars

      protected final Object decodeFromChars(char[] cs)
      Parses a character buffer and unwraps top-level container values.
      Overrides:
      decodeFromChars in class JsonParserCharArray
      Parameters:
      cs - JSON content to parse
      Returns:
      parsed Groovy JSON value