Package groovy.json

Class JsonLexer

java.lang.Object
groovy.json.JsonLexer
All Implemented Interfaces:
java.util.Iterator<JsonToken>

public class JsonLexer
extends java.lang.Object
implements java.util.Iterator<JsonToken>
The lexer reads JSON tokens in a streaming fashion from the underlying reader.
Since:
1.8.0
  • Constructor Summary

    Constructors
    Constructor Description
    JsonLexer​(java.io.Reader reader)
    Instantiates a lexer with a reader from which to read JSON tokens.
  • Method Summary

    Modifier and Type Method Description
    LineColumnReader getReader()
    Underlying reader from which to read the JSON tokens.
    boolean hasNext()
    Iterator method to know if another token follows, or if we've reached the end of the stream.
    JsonToken next()
    Iterator method to get the next token of the stream.
    JsonToken nextToken()  
    void remove()
    Method not implemented.
    int skipWhitespace()
    Skips all the whitespace characters and moves the cursor to the next non-space character.
    static java.lang.String unescape​(java.lang.String input)
    Replace unicode escape and other control characters with real characters

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.util.Iterator

    forEachRemaining
  • Constructor Details

    • JsonLexer

      public JsonLexer​(java.io.Reader reader)
      Instantiates a lexer with a reader from which to read JSON tokens. Under the hood, the reader is wrapped in a LineColumnReader, for line and column information, unless it's already an instance of that class.
      Parameters:
      reader - underlying reader
  • Method Details

    • getReader

      public LineColumnReader getReader()
      Underlying reader from which to read the JSON tokens. This reader is an instance of LineColumnReader, to keep track of line and column positions.
    • nextToken

      public JsonToken nextToken()
      Returns:
      the next token from the stream
    • unescape

      public static java.lang.String unescape​(java.lang.String input)
      Replace unicode escape and other control characters with real characters
      Parameters:
      input - text
      Returns:
      input text without the escaping
    • skipWhitespace

      public int skipWhitespace()
      Skips all the whitespace characters and moves the cursor to the next non-space character.
    • hasNext

      public boolean hasNext()
      Iterator method to know if another token follows, or if we've reached the end of the stream.
      Specified by:
      hasNext in interface java.util.Iterator<JsonToken>
      Returns:
      true if there are more tokens
    • next

      public JsonToken next()
      Iterator method to get the next token of the stream.
      Specified by:
      next in interface java.util.Iterator<JsonToken>
      Returns:
      the next token
    • remove

      public void remove()
      Method not implemented.
      Specified by:
      remove in interface java.util.Iterator<JsonToken>
      Throws:
      java.lang.UnsupportedOperationException