/// <summary> /// Parses the next element in the array. /// </summary> private JsonToken ParseArrayNext() { switch (NextClean()) { case ';': case ',': { if (NextClean() == ']') { return(Yield(JsonToken.EndArray())); } else { _reader.Back(); } break; } case ']': { return(Yield(JsonToken.EndArray())); } default: throw new JsonException("Expected a ',' or ']'."); } Push(ParseArrayNextMethod); return(Parse()); }
/// <summary> /// Parses the first element of an array or the end of the array if /// it is empty. /// </summary> private JsonToken ParseArrayFirst() { if (NextClean() == ']') { return(Yield(JsonToken.EndArray())); } _reader.Back(); Push(ParseArrayNextMethod); return(Parse()); }
protected override void WriteEndArrayImpl() { Write(JsonToken.EndArray()); }