Package 

Class JSONStringer


  • 
    public class JSONStringer
    
                        

    Implements toString and toString. Most application developers should use those methods directly and disregard this API. For example:

    JSONObject object = ...
    String json = object.toString();

    Stringers only encode well-formed JSON strings. In particular:

    • The stringer must have exactly one top-level array or object.
    • Lexical scopes must be balanced: every call to array must have a matching call to endArray and every call to must have a matching call to endObject.
    • Arrays may not contain keys (property names).
    • Objects must alternate keys (property names) and values.
    • Values are inserted with either literal value calls, or by nesting arrays or objects.
    Calls that would result in a malformed JSON string will fail with a JSONException.

    This class provides no facility for pretty-printing (ie. indenting) output. To encode indented output, use toString or toString.

    Some implementations of the API support at most 20 levels of nesting. Attempts to create more than 20 levels of nesting may fail with a .

    Each stringer may be used to encode a single top level value. Instances of this class are not thread safe. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overrideable methods is not specified. See Effective JavaItem 17, "Design and Document or inheritance or else prohibit it" for further information.

    • Constructor Detail

      • JSONStringer

        JSONStringer()
    • Method Detail

      • value

         JSONStringer value(double value)

        Encodes {@code value} to this stringer.

        Parameters:
        value - a finite value.
      • key

         JSONStringer key(String name)

        Encodes the key (property name) to this stringer.

        Parameters:
        name - the name of the forthcoming value.
      • toString

         String toString()

        Returns the encoded JSON string.

        If invoked with unterminated arrays or unclosed objects, this method'sreturn value is undefined.

        Warning: although it contradicts the general contractof toString, this method returns null if the stringercontains no data.