Class JsonStreamParser

java.lang.Object
com.google.gson.JsonStreamParser
All Implemented Interfaces:
Iterator<JsonElement>

public final class JsonStreamParser extends Object implements Iterator<JsonElement>
A streaming parser that allows reading of multiple JsonElements from the specified reader asynchronously. The JSON data is parsed in lenient mode, see also JsonReader.setLenient(boolean).

This class is conditionally thread-safe (see Item 70, Effective Java second edition). To properly use this class across multiple threads, you will need to add some external synchronization. For example:

 JsonStreamParser parser = new JsonStreamParser("['first'] {'second':10} 'third'");
 JsonElement element;
 synchronized (parser) {  // synchronize on an object shared by threads
   if (parser.hasNext()) {
     element = parser.next();
   }
 }
 
Since:
1.4
Author:
Inderjeet Singh, Joel Leitch
  • Constructor Details

    • JsonStreamParser

      public JsonStreamParser(String json)
      Parameters:
      json - The string containing JSON elements concatenated to each other.
      Since:
      1.4
    • JsonStreamParser

      public JsonStreamParser(Reader reader)
      Parameters:
      reader - The data stream containing JSON elements concatenated to each other.
      Since:
      1.4
  • Method Details