diff --git a/gson/src/main/java/com/google/gson/stream/JsonReaderV2.java b/gson/src/main/java/com/google/gson/stream/JsonReaderV2.java deleted file mode 100644 index ec38c54d..00000000 --- a/gson/src/main/java/com/google/gson/stream/JsonReaderV2.java +++ /dev/null @@ -1,1362 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.gson.stream; - -import java.io.Closeable; -import java.io.EOFException; -import java.io.IOException; -import java.io.Reader; - -/** - * Reads a JSON (RFC 4627) - * encoded value as a stream of tokens. This stream includes both literal - * values (strings, numbers, booleans, and nulls) as well as the begin and - * end delimiters of objects and arrays. The tokens are traversed in - * depth-first order, the same order that they appear in the JSON document. - * Within JSON objects, name/value pairs are represented by a single token. - * - *
Next, create handler methods for each structure in your JSON text. You'll - * need a method for each object type and for each array type. - *
When a nested object or array is encountered, delegate to the - * corresponding handler method. - * - *
When an unknown name is encountered, strict parsers should fail with an - * exception. Lenient parsers should call {@link #skipValue()} to recursively - * skip the value's nested tokens, which may otherwise conflict. - * - *
If a value may be null, you should first check using {@link #peek()}. - * Null literals can be consumed using either {@link #nextNull()} or {@link - * #skipValue()}. - * - *
{@code - * [ - * { - * "id": 912345678901, - * "text": "How do I read a JSON stream in Java?", - * "geo": null, - * "user": { - * "name": "json_newb", - * "followers_count": 41 - * } - * }, - * { - * "id": 912345678902, - * "text": "@json_newb just use JsonReader!", - * "geo": [50.454722, -104.606667], - * "user": { - * "name": "jesse", - * "followers_count": 2 - * } - * } - * ]}- * This code implements the parser for the above structure:
{@code - * - * public List- * - *readJsonStream(InputStream in) throws IOException { - * JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8")); - * try { - * return readMessagesArray(reader); - * } finally { - * reader.close(); - * } - * } - * - * public List readMessagesArray(JsonReader reader) throws IOException { - * List messages = new ArrayList (); - * - * reader.beginArray(); - * while (reader.hasNext()) { - * messages.add(readMessage(reader)); - * } - * reader.endArray(); - * return messages; - * } - * - * public Message readMessage(JsonReader reader) throws IOException { - * long id = -1; - * String text = null; - * User user = null; - * List geo = null; - * - * reader.beginObject(); - * while (reader.hasNext()) { - * String name = reader.nextName(); - * if (name.equals("id")) { - * id = reader.nextLong(); - * } else if (name.equals("text")) { - * text = reader.nextString(); - * } else if (name.equals("geo") && reader.peek() != JsonToken.NULL) { - * geo = readDoublesArray(reader); - * } else if (name.equals("user")) { - * user = readUser(reader); - * } else { - * reader.skipValue(); - * } - * } - * reader.endObject(); - * return new Message(id, text, user, geo); - * } - * - * public List readDoublesArray(JsonReader reader) throws IOException { - * List doubles = new ArrayList (); - * - * reader.beginArray(); - * while (reader.hasNext()) { - * doubles.add(reader.nextDouble()); - * } - * reader.endArray(); - * return doubles; - * } - * - * public User readUser(JsonReader reader) throws IOException { - * String username = null; - * int followersCount = -1; - * - * reader.beginObject(); - * while (reader.hasNext()) { - * String name = reader.nextName(); - * if (name.equals("name")) { - * username = reader.nextString(); - * } else if (name.equals("followers_count")) { - * followersCount = reader.nextInt(); - * } else { - * reader.skipValue(); - * } - * } - * reader.endObject(); - * return new User(username, followersCount); - * }}