List of usage examples for com.google.gson.stream JsonReader beginArray
public void beginArray() throws IOException
From source file:org.jclouds.http.functions.ParseFirstJsonValueNamed.java
License:Apache License
private JsonToken skipAndPeek(JsonToken token, JsonReader reader) throws IOException { switch (token) { case BEGIN_ARRAY: reader.beginArray(); break;//w w w . ja va 2s . c om case END_ARRAY: reader.endArray(); break; case BEGIN_OBJECT: reader.beginObject(); break; case END_OBJECT: reader.endObject(); break; case NAME: // NOTE that we have already advanced on NAME in the eval block; break; case STRING: reader.nextString(); break; case NUMBER: reader.nextString(); break; case BOOLEAN: reader.nextBoolean(); break; case NULL: reader.nextNull(); break; case END_DOCUMENT: break; } return reader.peek(); }
From source file:org.jclouds.json.internal.IgnoreNullFluentIterableTypeAdapterFactory.java
License:Apache License
protected <E> TypeAdapter<FluentIterable<E>> newFluentIterableAdapter(final TypeAdapter<E> elementAdapter) { return new TypeAdapter<FluentIterable<E>>() { public void write(JsonWriter out, FluentIterable<E> value) throws IOException { out.beginArray();//from w ww.jav a 2 s . c om for (E element : value) { elementAdapter.write(out, element); } out.endArray(); } public FluentIterable<E> read(JsonReader in) throws IOException { in.beginArray(); Builder<E> builder = ImmutableList.<E>builder(); while (in.hasNext()) { E element = elementAdapter.read(in); if (element != null) builder.add(element); } in.endArray(); return FluentIterable.from(builder.build()); } }.nullSafe(); }
From source file:org.jclouds.json.internal.IgnoreNullIterableTypeAdapterFactory.java
License:Apache License
protected <E> TypeAdapter<Iterable<E>> newIterableAdapter(final TypeAdapter<E> elementAdapter) { return new TypeAdapter<Iterable<E>>() { public void write(JsonWriter out, Iterable<E> value) throws IOException { out.beginArray();/*from www. j a va2 s. c o m*/ for (E element : value) { elementAdapter.write(out, element); } out.endArray(); } public Iterable<E> read(JsonReader in) throws IOException { in.beginArray(); Builder<E> builder = ImmutableList.<E>builder(); while (in.hasNext()) { E element = elementAdapter.read(in); if (element != null) builder.add(element); } in.endArray(); return builder.build(); } }.nullSafe(); }
From source file:org.jclouds.json.internal.IgnoreNullMultimapTypeAdapterFactory.java
License:Apache License
private <K, V> TypeAdapter<Multimap<K, V>> newMapAdapter(final TypeAdapter<K> keyAdapter, final TypeAdapter<V> valueAdapter) { return new TypeAdapter<Multimap<K, V>>() { public void write(JsonWriter out, Multimap<K, V> map) throws IOException { out.beginObject();/* ww w. j a va 2 s . c om*/ for (K key : map.keySet()) { out.name(String.valueOf(key)); out.beginArray(); for (V value : map.get(key)) { valueAdapter.write(out, value); } out.endArray(); } out.endObject(); } public Multimap<K, V> read(JsonReader in) throws IOException { ImmutableMultimap.Builder<K, V> result = ImmutableListMultimap.builder(); in.beginObject(); while (in.hasNext()) { JsonReaderInternalAccess.INSTANCE.promoteNameToValue(in); K name = keyAdapter.read(in); in.beginArray(); while (in.hasNext()) { V value = valueAdapter.read(in); if (value != null) result.put(name, value); } in.endArray(); } in.endObject(); return result.build(); } }.nullSafe(); }
From source file:org.jclouds.json.internal.IgnoreNullSetTypeAdapterFactory.java
License:Apache License
private <E> TypeAdapter<Set<E>> newSetAdapter(final TypeAdapter<E> elementAdapter) { return new TypeAdapter<Set<E>>() { public void write(JsonWriter out, Set<E> value) throws IOException { out.beginArray();// ww w . ja va 2 s .c o m for (E element : value) { elementAdapter.write(out, element); } out.endArray(); } public Set<E> read(JsonReader in) throws IOException { Set<E> result = Sets.newLinkedHashSet(); in.beginArray(); while (in.hasNext()) { E element = elementAdapter.read(in); if (element != null) result.add(element); } in.endArray(); return result; } }.nullSafe(); }
From source file:org.jclouds.openstack.swift.v1.config.SwiftTypeAdapters.java
License:Apache License
static void readErrors(JsonReader reader, Builder<String, String> errors) throws IOException { reader.beginArray(); while (reader.hasNext()) { reader.beginArray();/* ww w. j a v a 2 s. c om*/ String decodedPath = URI.create(reader.nextString()).getPath(); errors.put(decodedPath, reader.nextString()); reader.endArray(); } reader.endArray(); }
From source file:org.kairosdb.client.AbstractClient.java
License:Apache License
private List<String> readNameQueryResponse(InputStream stream) throws IOException { List<String> list = new ArrayList<String>(); JsonReader reader = new JsonReader(new InputStreamReader(stream, "UTF-8")); try {//from w ww .j a v a 2 s .c o m reader.beginObject(); String container = reader.nextName(); if (container.equals("results")) { reader.beginArray(); while (reader.hasNext()) { list.add(reader.nextString()); } reader.endArray(); reader.endObject(); } } finally { reader.close(); } return list; }
From source file:org.kairosdb.core.http.rest.json.DataPointsParser.java
License:Apache License
public ValidationErrors parse() throws IOException, DatastoreException { long start = System.currentTimeMillis(); ValidationErrors validationErrors = new ValidationErrors(); JsonReader reader = new JsonReader(inputStream); try {/*from w w w .j a v a 2 s.c o m*/ int metricCount = 0; if (reader.peek().equals(JsonToken.BEGIN_ARRAY)) { try { reader.beginArray(); while (reader.hasNext()) { NewMetric metric = parseMetric(reader); validateAndAddDataPoints(metric, validationErrors, metricCount); metricCount++; } } catch (EOFException e) { validationErrors.addErrorMessage("Invalid json. No content due to end of input."); } reader.endArray(); } else if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) { NewMetric metric = parseMetric(reader); validateAndAddDataPoints(metric, validationErrors, 0); } else validationErrors.addErrorMessage("Invalid start of json."); } catch (EOFException e) { validationErrors.addErrorMessage("Invalid json. No content due to end of input."); } finally { reader.close(); } ingestTime = (int) (System.currentTimeMillis() - start); return validationErrors; }
From source file:org.kairosdb.util.ResponseToMetricConverter.java
License:Apache License
public void convert(InputStream inputStream, OutputStream outStream) throws IOException { JsonReader reader = new JsonReader(new InputStreamReader(inputStream)); JsonWriter writer = new JsonWriter(new OutputStreamWriter(outStream)); try {/*from w w w .j a v a2s. co m*/ writer.beginArray(); // Queries array reader.beginObject(); while (reader.hasNext()) { String token = reader.nextName(); if (token.equals("queries")) { reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); token = reader.nextName(); if (token.equals("results")) { parseResults(reader, writer); } reader.endObject(); } reader.endArray(); } } reader.endObject(); writer.endArray(); } catch (RuntimeException e) { e.printStackTrace(); } finally { reader.close(); writer.close(); } }
From source file:org.kairosdb.util.ResponseToMetricConverter.java
License:Apache License
private void parseResults(JsonReader reader, JsonWriter writer) throws IOException { reader.beginArray(); while (reader.hasNext()) { MetricFrom metricFrom = gson.fromJson(reader, MetricFrom.class); MetricTo metricTo = new MetricTo(metricFrom); gson.toJson(metricTo, MetricTo.class, writer); }// www . ja v a2 s. c o m reader.endArray(); }