/** * Example to readJson using StreamingAPI */ private static void readJson() throws IOException { String str = "{\"message\":\"Hi\",\"place\":{\"name\":\"World!\"}}"; InputStream in = new ByteArrayInputStream(str.getBytes(Charset.forName("UTF-8"))); JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8")); while (reader.hasNext()) { JsonToken jsonToken = reader.peek(); if(jsonToken == JsonToken.BEGIN_OBJECT) { reader.beginObject(); } else if(jsonToken == JsonToken.END_OBJECT) { reader.endObject(); } if(jsonToken == JsonToken.STRING) { System.out.print(reader.nextString() + " "); // print Hi World! } else { reader.skipValue(); } } reader.close(); }
public void convert(InputStream inputStream, OutputStream outStream) throws IOException try (JsonReader reader = new JsonReader(new InputStreamReader(inputStream)); JsonWriter writer = new JsonWriter(new OutputStreamWriter(outStream))) writer.beginArray(); 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")) reader.endObject(); reader.endArray(); reader.endObject(); writer.endArray();
writer.setIndent(" "); while (true) { final JsonToken token = reader.peek(); switch (token) { case BEGIN_ARRAY: reader.beginArray(); writer.beginArray(); break; case END_ARRAY: reader.endArray(); writer.endArray(); break; case BEGIN_OBJECT: reader.beginObject(); case END_OBJECT: reader.endObject(); case NAME: final String name = reader.nextName(); case STRING: final String s = reader.nextString(); case NUMBER: final String n = reader.nextString(); case BOOLEAN: final boolean b = reader.nextBoolean();
@Override public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { String value = reader.nextString(); return lowercaseToConstant.get(normalize(value)); } } };
/** Read a time from the Places API and convert to a {@link Instant} */ @Override public Instant read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.NUMBER) { // Number is the number of seconds since Epoch. return Instant.ofEpochMilli(reader.nextLong() * 1000L); } throw new UnsupportedOperationException("Unsupported format"); }
@Override public UIData load(ResourceUrn resourceUrn, List<AssetDataFile> inputs) throws IOException { try (JsonReader reader = new JsonReader(new InputStreamReader(inputs.get(0).openStream(), Charsets.UTF_8))) { reader.setLenient(true); UIData data = load(new JsonParser().parse(reader)); data.setSource(inputs.get(0)); return data; } }
private void loadCapacities(String capacityConfigFile) throws FileNotFoundException { JsonReader reader = null; try { reader = new JsonReader(new InputStreamReader(new FileInputStream(capacityConfigFile), StandardCharsets.UTF_8)); Gson gson = new Gson(); Set<BrokerCapacity> brokerCapacities = ((BrokerCapacities) gson.fromJson(reader, BrokerCapacities.class)).brokerCapacities; _capacitiesForBrokers = new HashMap<>(brokerCapacities.size()); for (BrokerCapacity bc : brokerCapacities) { boolean isDefault = bc.brokerId == DEFAULT_CAPACITY_BROKER_ID; BrokerCapacityInfo brokerCapacityInfo = isDefault ? new BrokerCapacityInfo(bc.capacity, "The default broker capacity.") : new BrokerCapacityInfo(bc.capacity); _capacitiesForBrokers.put(bc.brokerId, brokerCapacityInfo); } } finally { try { if (reader != null) { reader.close(); } } catch (IOException e) { // let it go. } } }
@Override public ModuleRegistry call() throws IOException { logger.info("Downloading modules .."); TableModuleRegistry modules = new TableModuleRegistry(); URL url = new URL("http", serverAddress, "/modules/list/latest"); try (JsonReader reader = new JsonReader(new InputStreamReader(url.openStream(), TerasologyConstants.CHARSET))) { logger.info("Parsing content .."); reader.beginArray(); while (reader.hasNext()) { ModuleMetadata meta = metaReader.read(reader); logger.debug("Read module {} - {}", meta.getId(), meta.getVersion()); RemoteModule remoteModule = new RemoteModule(meta); modules.add(remoteModule); } reader.endArray(); int count = modules.size(); logger.info(String.format("Retrieved %d %s", count, (count == 1) ? "entry" : "entries")); } return modules; } }
@Override public UISkinData load(ResourceUrn urn, List<AssetDataFile> inputs) throws IOException { try (JsonReader reader = new JsonReader(new InputStreamReader(inputs.get(0).openStream(), Charsets.UTF_8))) { reader.setLenient(true); UISkinData data = gson.fromJson(reader, UISkinData.class); data.setSource(inputs.get(0)); return data; } catch (JsonParseException e) { throw new IOException("Failed to load skin '" + urn + "'", e); } }
private Map<String, String> parseResponse(URI uri, Response response) { try (InputStream stream = response.getEntityStream()) { JsonReader jsonStream = new JsonReader(new InputStreamReader(new BoundedInputStream(stream, MAX_FILE_SIZE_BYTES))); return GSON.fromJson(jsonStream, MAP_TYPE); } catch (IOException | RuntimeException ex) { log.info("Unable to parse response from " + uri, ex); throw new TranslationsDownloadException(ex, uri, "Malformed response: " + ex.getMessage(), i18nResolver.getText("connect.install.error.i18n.download.malformed")); } }
@Override public void open(Resource resource) throws Exception { Assert.notNull(resource, "The resource must not be null"); this.inputStream = resource.getInputStream(); this.jsonReader = this.mapper.newJsonReader(new InputStreamReader(this.inputStream)); Assert.state(this.jsonReader.peek() == JsonToken.BEGIN_ARRAY, "The Json input stream must start with an array of Json objects"); this.jsonReader.beginArray(); }
try (Reader reader = new InputStreamReader(url.openStream(), charset); JsonReader jsonReader = new JsonReader(reader)) { jsonReader.beginArray(); TypeAdapter<ServerInfo> adapter = GSON.getAdapter(ServerInfo.class); while (jsonReader.hasNext()) { ServerInfo entry = adapter.read(jsonReader); servers.add(entry); jsonReader.endArray();
synchronized SensorContextUtils.AnalysisResponse analyze(SensorContextUtils.ContextualAnalysisRequest request) throws IOException { if (!isAlive()) { throw new IllegalStateException("ContextualServer is not started."); } final OutputStreamWriter writer = new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8); String requestJson = GSON.toJson(request); writer.append(requestJson); writer.flush(); JsonReader jsonReader = new JsonReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8)); return GSON.fromJson(jsonReader, SensorContextUtils.AnalysisResponse.class); }
JsonReader jsonReader = new JsonReader(new BufferedReader(new InputStreamReader(zkData))); Gson gson = new GsonBuilder().create(); jsonReader.beginArray(); final ZooKeeperEndpointConfig sourceZooKeeperEndpointConfig = gson.fromJson(jsonReader, ZooKeeperEndpointConfig.class); LOGGER.info("Source data was obtained from ZooKeeper: {}", sourceZooKeeperEndpointConfig); Preconditions.checkArgument(!Strings.isNullOrEmpty(sourceZooKeeperEndpointConfig.getConnectString()) && !Strings.isNullOrEmpty(sourceZooKeeperEndpointConfig.getPath()) LOGGER.info("{} {} transferred to {}", writeCount, writeCount == 1 ? "node" : "nodes", zooKeeperEndpointConfig); jsonReader.close(); closeZooKeeper(zooKeeper);
public static void processJsonStream(JsonEntityResponseHandler handler, InputStream stream) throws IOException { handler.start(); try(JsonReader json = new JsonReader(new InputStreamReader(stream))) { JsonParser parser = new JsonParser(); json.setLenient(true); while (json.peek() != JsonToken.END_DOCUMENT) { JsonElement element = parser.parse(json); handler.process(element.getAsJsonObject()); } } finally { handler.stop(); } }
InputStream instream = entity.getContent(); Gson gson = new Gson(); Reader reader = new InputStreamReader(instream); JsonReader jsonReader = new JsonReader(jsonReader); jsonReader.beginArray(); while (jsonReader.hasNext()) { MyCustomObject cobj = gson.fromJson(jReader, MyCustomObject.class); byte[] image = cobj.Image; }
/** * Reformats the given JSON file. * * @param pathToJson the path to the JSON file to be reformatted * @throws ReportException thrown if the given JSON file is malformed */ private void pretifyJson(String pathToJson) throws ReportException { final String outputPath = pathToJson + ".pretty"; final File in = new File(pathToJson); final File out = new File(outputPath); try (JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(in), StandardCharsets.UTF_8)); JsonWriter writer = new JsonWriter(new OutputStreamWriter(new FileOutputStream(out), StandardCharsets.UTF_8))) { prettyPrint(reader, writer); } catch (IOException ex) { LOGGER.debug("Malformed JSON?", ex); throw new ReportException("Unable to generate json report", ex); } if (out.isFile() && in.isFile() && in.delete()) { try { org.apache.commons.io.FileUtils.moveFile(out, in); } catch (IOException ex) { LOGGER.error("Unable to generate pretty report, caused by: ", ex.getMessage()); } } }
@Override public void apply(AssetDataFile input, UIData assetData) throws IOException { try (JsonReader reader = new JsonReader(new InputStreamReader(input.openStream(), Charsets.UTF_8))) { JsonElement jsonElement = new JsonParser().parse(reader); String skinUri = jsonElement.getAsJsonObject().get("skin").getAsString(); String filePath = input.toString(); String moduleName = filePath.substring(1, filePath.indexOf('/', 1)); Optional<UISkin> skin = Assets.getSkin(moduleName + ":" + skinUri); if (skin.isPresent()) { assetData.getRootWidget().setSkin(skin.get()); } else { logger.warn("Failed to load skin " + skinUri + " for the delta file " + input.getFilename()); } } } }
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); } reader.endArray(); }
public List<T> read(Reader reader) throws IOException { com.google.gson.stream.JsonReader jsonReader = new com.google.gson.stream.JsonReader(reader); List<T> objs = new ArrayList<>(); jsonReader.beginArray(); while (jsonReader.hasNext()) { T obj = (new Gson()).fromJson(jsonReader, getPersistentClass()); objs.add(obj); } jsonReader.endArray(); jsonReader.close(); return objs; }