List of usage examples for com.google.gson JsonElement getAsInt
public int getAsInt()
From source file:com.ecwid.mailchimp.MailChimpClient.java
License:Apache License
/** * Execute MailChimp API method.//from ww w . j a v a2s .com * * @param method MailChimp API method to be executed * @return execution result */ public <R> R execute(MailChimpMethod<R> method) throws IOException, MailChimpException { final Gson gson = MailChimpGsonFactory.createGson(); JsonElement result = execute(buildUrl(method), gson.toJsonTree(method)); if (result.isJsonObject()) { JsonElement error = result.getAsJsonObject().get("error"); if (error != null) { JsonElement code = result.getAsJsonObject().get("code"); throw new MailChimpException(code.getAsInt(), error.getAsString()); } } return gson.fromJson(result, method.getResultType()); }
From source file:com.fooock.shodan.model.banner.BannerDeserializer.java
License:Open Source License
@Override public List<Banner> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { final List<Banner> banners = new ArrayList<>(); if (json.isJsonNull()) { return banners; }/*from www. j a v a2 s. com*/ JsonArray jsonArray = json.getAsJsonArray(); if (jsonArray.isJsonNull()) { return banners; } for (JsonElement element : jsonArray) { JsonObject jsonObject = element.getAsJsonObject(); JsonElement port = jsonObject.get("port"); JsonElement ip = jsonObject.get("ip"); JsonElement asn = jsonObject.get("asn"); JsonElement data = jsonObject.get("data"); JsonElement ipStr = jsonObject.get("ip_str"); JsonElement ipv6 = jsonObject.get("ipv6"); JsonElement timestamp = jsonObject.get("timestamp"); JsonElement hostnames = jsonObject.get("hostnames"); JsonElement domains = jsonObject.get("domains"); JsonElement location = jsonObject.get("location"); JsonElement options = jsonObject.get("opts"); JsonElement metadata = jsonObject.get("_shodan"); JsonElement ssl = jsonObject.get("ssl"); JsonElement uptime = jsonObject.get("uptime"); JsonElement link = jsonObject.get("link"); JsonElement title = jsonObject.get("title"); JsonElement html = jsonObject.get("html"); JsonElement product = jsonObject.get("product"); JsonElement version = jsonObject.get("version"); JsonElement isp = jsonObject.get("isp"); JsonElement os = jsonObject.get("os"); JsonElement transport = jsonObject.get("transport"); JsonElement devicetype = jsonObject.get("devicetype"); JsonElement info = jsonObject.get("info"); JsonElement cpe = jsonObject.get("cpe"); final Banner banner = new Banner(); if (port == null || port.isJsonNull()) { banner.setPort(0); } else { banner.setPort(port.getAsInt()); } if (ip == null || ip.isJsonNull()) { banner.setIp(0); } else { banner.setIp(ip.getAsLong()); } if (asn == null || asn.isJsonNull()) { banner.setAsn("unknown"); } else { banner.setAsn(asn.getAsString()); } if (data == null || data.isJsonNull()) { banner.setData("unknown"); } else { banner.setData(data.getAsString()); } if (ipStr == null || ipStr.isJsonNull()) { banner.setIpStr("unknown"); } else { banner.setIpStr(ipStr.getAsString()); } if (ipv6 == null || ipv6.isJsonNull()) { banner.setIpv6("unknown"); } else { banner.setIpv6(ipv6.getAsString()); } if (timestamp == null || timestamp.isJsonNull()) { banner.setTimestamp("unknown"); } else { banner.setTimestamp(timestamp.getAsString()); } if (hostnames == null || hostnames.isJsonNull()) { banner.setHostnames(new String[0]); } else { JsonArray hostnamesAsJsonArray = hostnames.getAsJsonArray(); String[] hostnameArray = new String[hostnamesAsJsonArray.size()]; for (int i = 0; i < hostnamesAsJsonArray.size(); i++) { hostnameArray[i] = hostnamesAsJsonArray.get(i).getAsString(); } banner.setHostnames(hostnameArray); } if (domains == null || domains.isJsonNull()) { banner.setDomains(new String[0]); } else { JsonArray domainsAsJsonArray = domains.getAsJsonArray(); String[] domainsArray = new String[domainsAsJsonArray.size()]; for (int i = 0; i < domainsAsJsonArray.size(); i++) { domainsArray[i] = domainsAsJsonArray.get(i).getAsString(); } banner.setDomains(domainsArray); } if (location == null || location.isJsonNull()) { banner.setLocation(new Location()); } else { JsonObject locationAsJsonObject = location.getAsJsonObject(); JsonElement areaCode = locationAsJsonObject.get("area_code"); JsonElement latitude = locationAsJsonObject.get("latitude"); JsonElement longitude = locationAsJsonObject.get("longitude"); JsonElement city = locationAsJsonObject.get("city"); JsonElement regionCode = locationAsJsonObject.get("region_code"); JsonElement postalCode = locationAsJsonObject.get("postal_code"); JsonElement dmaCode = locationAsJsonObject.get("dma_code"); JsonElement countryCode = locationAsJsonObject.get("country_code"); JsonElement countryCode3 = locationAsJsonObject.get("country_code3"); JsonElement countryName = locationAsJsonObject.get("country_name"); Location locationObject = new Location(); if (areaCode == null || areaCode.isJsonNull()) { locationObject.setAreaCode(0); } else { locationObject.setAreaCode(areaCode.getAsInt()); } if (latitude == null || latitude.isJsonNull()) { locationObject.setLatitude(0.0); } else { locationObject.setLatitude(latitude.getAsDouble()); } if (longitude == null || location.isJsonNull()) { locationObject.setLongitude(0.0); } else { locationObject.setLongitude(longitude.getAsDouble()); } if (city == null || city.isJsonNull()) { locationObject.setCity("unknown"); } else { locationObject.setCity(city.getAsString()); } if (regionCode == null || regionCode.isJsonNull()) { locationObject.setRegionCode("unknown"); } else { locationObject.setRegionCode(regionCode.getAsString()); } if (postalCode == null || postalCode.isJsonNull()) { locationObject.setPostalCode("unknown"); } else { locationObject.setPostalCode(postalCode.getAsString()); } if (dmaCode == null || dmaCode.isJsonNull()) { locationObject.setDmaCode("unknown"); } else { locationObject.setDmaCode(dmaCode.getAsString()); } if (countryCode == null || countryCode.isJsonNull()) { locationObject.setCountryCode("unknown"); } else { locationObject.setCountryCode(countryCode.getAsString()); } if (countryCode3 == null || countryCode3.isJsonNull()) { locationObject.setCountryCode3("unknown"); } else { locationObject.setCountryCode3(countryCode3.getAsString()); } if (countryName == null || countryName.isJsonNull()) { locationObject.setCountryName("unknown"); } else { locationObject.setCountryName(countryName.getAsString()); } banner.setLocation(locationObject); } final Options opts = new Options(); if (options == null || options.isJsonNull()) { opts.setRaw("unknown"); } else { JsonObject object = options.getAsJsonObject(); JsonElement raw = object.get("raw"); if (raw == null || raw.isJsonNull()) { opts.setRaw("unknown"); } else { opts.setRaw(raw.getAsString()); } } banner.setOptions(opts); final Metadata shodanMetadata = new Metadata(); if (metadata == null || metadata.isJsonNull()) { shodanMetadata.setCrawler("unknown"); shodanMetadata.setId("unknown"); shodanMetadata.setModule("unknown"); } else { JsonObject metadataAsJsonObject = metadata.getAsJsonObject(); JsonElement crawler = metadataAsJsonObject.get("crawler"); JsonElement id = metadataAsJsonObject.get("id"); JsonElement module = metadataAsJsonObject.get("module"); if (crawler == null || crawler.isJsonNull()) { shodanMetadata.setCrawler("unknown"); } else { shodanMetadata.setCrawler(crawler.getAsString()); } if (id == null || id.isJsonNull()) { shodanMetadata.setId("unknown"); } else { shodanMetadata.setId(id.getAsString()); } if (module == null || module.isJsonNull()) { shodanMetadata.setModule("unknown"); } else { shodanMetadata.setModule(module.getAsString()); } } banner.setMetadata(shodanMetadata); final SslInfo sslInfo = new SslInfo(); if (ssl == null || ssl.isJsonNull()) { banner.setSslEnabled(false); } else { banner.setSslEnabled(true); JsonObject sslAsJsonObject = ssl.getAsJsonObject(); JsonElement chain = sslAsJsonObject.get("chain"); JsonArray chainAsJsonArray = chain.getAsJsonArray(); String[] chainArray = new String[chainAsJsonArray.size()]; for (int i = 0; i < chainAsJsonArray.size(); i++) { chainArray[i] = chainAsJsonArray.get(i).getAsString(); } sslInfo.setChain(chainArray); JsonElement versions = sslAsJsonObject.get("versions"); JsonArray versionAsJsonArray = versions.getAsJsonArray(); String[] versionsArray = new String[versionAsJsonArray.size()]; for (int i = 0; i < versionsArray.length; i++) { versionsArray[i] = versionAsJsonArray.get(i).getAsString(); } sslInfo.setVersions(versionsArray); JsonElement cipher = sslAsJsonObject.get("cipher"); JsonObject cipherAsJsonObject = cipher.getAsJsonObject(); JsonElement bits = cipherAsJsonObject.get("bits"); JsonElement cipherVersion = cipherAsJsonObject.get("version"); JsonElement name = cipherAsJsonObject.get("name"); final Cipher cipherObject = new Cipher(); if (bits != null && !bits.isJsonNull()) { cipherObject.setBits(bits.getAsInt()); } if (cipherVersion != null && !cipherVersion.isJsonNull()) { cipherObject.setVersion(cipherVersion.getAsString()); } else { cipherObject.setVersion("unknown"); } if (name == null || name.isJsonNull()) { cipherObject.setName("unknown"); } else { cipherObject.setName(name.getAsString()); } sslInfo.setCipher(cipherObject); JsonElement dhparams = sslAsJsonObject.get("dhparams"); if (dhparams != null && !dhparams.isJsonNull()) { JsonObject dhparamsAsJsonObject = dhparams.getAsJsonObject(); JsonElement bits1 = dhparamsAsJsonObject.get("bits"); JsonElement prime = dhparamsAsJsonObject.get("prime"); JsonElement publicKey = dhparamsAsJsonObject.get("public_key"); JsonElement generator = dhparamsAsJsonObject.get("generator"); JsonElement fingerprint = dhparamsAsJsonObject.get("fingerprint"); final DiffieHellmanParams diffieHellmanParams = new DiffieHellmanParams(); if (bits1 != null && !bits1.isJsonNull()) { diffieHellmanParams.setBits(bits1.getAsInt()); } if (prime == null || prime.isJsonNull()) { diffieHellmanParams.setPrime("unknown"); } else { diffieHellmanParams.setPrime(prime.getAsString()); } if (publicKey == null || publicKey.isJsonNull()) { diffieHellmanParams.setPublicKey("unknown"); } else { diffieHellmanParams.setPublicKey(publicKey.getAsString()); } if (generator == null || generator.isJsonNull()) { diffieHellmanParams.setGenerator("unknown"); } else { diffieHellmanParams.setGenerator(generator.getAsString()); } if (fingerprint == null || fingerprint.isJsonNull()) { diffieHellmanParams.setFingerprint("unknown"); } else { diffieHellmanParams.setFingerprint(fingerprint.getAsString()); } sslInfo.setDiffieHellmanParams(diffieHellmanParams); } } banner.setSslInfo(sslInfo); if (uptime == null || uptime.isJsonNull()) { banner.setUptime(0); } else { banner.setUptime(uptime.getAsInt()); } if (link == null || link.isJsonNull()) { banner.setLink("unknown"); } else { banner.setLink(link.getAsString()); } if (title == null || title.isJsonNull()) { banner.setTitle("unknown"); } else { banner.setTitle(title.getAsString()); } if (html == null || html.isJsonNull()) { banner.setHtml("unknown"); } else { banner.setHtml(html.getAsString()); } if (product == null || product.isJsonNull()) { banner.setProduct("unknown"); } else { banner.setProduct(product.getAsString()); } if (version == null || version.isJsonNull()) { banner.setVersion("unknown"); } else { banner.setVersion(version.getAsString()); } if (isp == null || isp.isJsonNull()) { banner.setIsp("unknown"); } else { banner.setIsp(isp.getAsString()); } if (os == null || os.isJsonNull()) { banner.setOs("unknown"); } else { banner.setOs(os.getAsString()); } if (transport == null || transport.isJsonNull()) { banner.setTransport("unknown"); } else { banner.setTransport(transport.getAsString()); } if (devicetype == null || devicetype.isJsonNull()) { banner.setDeviceType("unknown"); } else { banner.setDeviceType(devicetype.getAsString()); } if (info == null || info.isJsonNull()) { banner.setInfo("unknown"); } else { banner.setInfo(info.getAsString()); } if (cpe == null || cpe.isJsonNull()) { banner.setCpe(new String[0]); } else { // cpe can be string or string[]. Fix for #4 if (cpe.isJsonObject()) { banner.setCpe(new String[] { cpe.getAsString() }); } else { JsonArray cpeAsJsonArray = cpe.getAsJsonArray(); String[] cpeArray = new String[cpeAsJsonArray.size()]; for (int i = 0; i < cpeAsJsonArray.size(); i++) { cpeArray[i] = cpeAsJsonArray.get(i).getAsString(); } banner.setCpe(cpeArray); } } banners.add(banner); } return banners; }
From source file:com.fooock.shodan.model.exploit.ExploitDeserializer.java
License:Open Source License
private Exploit parseJsonExploit(JsonElement json) { Exploit exploit = new Exploit(); JsonObject jsonObject = json.getAsJsonObject(); String id = jsonObject.get("_id").getAsString(); String desc = jsonObject.get("description").getAsString(); String source = jsonObject.get("source").getAsString(); JsonElement jsonAuthor = jsonObject.get("author"); if (jsonAuthor != null && !jsonAuthor.isJsonNull()) { if (jsonAuthor.isJsonPrimitive()) { String author = jsonAuthor.getAsString(); exploit.setAuthor(author);//from w ww .j ava 2s . c o m } else { JsonArray array = jsonAuthor.getAsJsonArray(); if (array != null) { String resAuthors = ""; for (JsonElement element : array) { resAuthors += ", " + element.getAsString(); } exploit.setAuthor(resAuthors); } } } JsonElement jsonCode = jsonObject.get("code"); if (jsonCode != null && !jsonCode.isJsonNull()) { String code = jsonCode.getAsString(); exploit.setCode(code); } JsonElement jsonType = jsonObject.get("type"); if (jsonType != null && !jsonType.isJsonNull()) { String type = jsonType.getAsString(); exploit.setType(type); } JsonElement jsonVersion = jsonObject.get("version"); if (jsonVersion != null && !jsonVersion.isJsonNull()) { String version = jsonVersion.getAsString(); exploit.setVersion(version); } JsonElement jsonPrivileged = jsonObject.get("privileged"); if (jsonPrivileged != null && !jsonPrivileged.isJsonNull()) { boolean privileged = jsonPrivileged.getAsBoolean(); exploit.setPrivileged(privileged); } JsonElement jsonPort = jsonObject.get("port"); if (jsonPort != null && !jsonPort.isJsonNull()) { int port = jsonPort.getAsInt(); exploit.setPort(port); } JsonArray jsonBid = jsonObject.getAsJsonArray("bid"); if (jsonBid != null) { String[] bid = new String[jsonBid.size()]; for (int i = 0; i < jsonBid.size(); i++) { bid[i] = jsonBid.get(i).getAsString(); } exploit.setBid(bid); } JsonArray jsonCve = jsonObject.getAsJsonArray("cve"); if (jsonCve != null) { String[] cve = new String[jsonCve.size()]; for (int i = 0; i < jsonCve.size(); i++) { cve[i] = jsonCve.get(i).getAsString(); } exploit.setCve(cve); } JsonArray jsonMsb = jsonObject.getAsJsonArray("msb"); if (jsonMsb != null) { String[] msb = new String[jsonMsb.size()]; for (int i = 0; i < jsonMsb.size(); i++) { msb[i] = jsonMsb.get(i).getAsString(); } exploit.setMsb(msb); } JsonArray jsonOsvdb = jsonObject.getAsJsonArray("osvdb"); if (jsonOsvdb != null) { String[] osvdb = new String[jsonOsvdb.size()]; for (int i = 0; i < jsonOsvdb.size(); i++) { osvdb[i] = jsonOsvdb.get(i).getAsString(); } exploit.setOsvdb(osvdb); } try { JsonArray jsonPlatform = jsonObject.getAsJsonArray("platform"); if (jsonPlatform != null && jsonPlatform.isJsonArray()) { String[] platform = new String[jsonPlatform.size()]; for (int i = 0; i < jsonPlatform.size(); i++) { platform[i] = jsonPlatform.get(i).getAsString(); } exploit.setPlatform(platform); } } catch (ClassCastException err) { JsonElement platPrimitive = jsonObject.get("platform"); if (platPrimitive != null && !platPrimitive.isJsonNull()) { exploit.setPlatform(new String[] { platPrimitive.getAsString() }); } } exploit.setId(id); exploit.setDescription(desc); exploit.setSource(source); return exploit; }
From source file:com.fooock.shodan.model.host.FacetReportDeserializer.java
License:Open Source License
private FacetReport parseFacetReport(JsonObject jsonObject, JsonElement totalElement) { final int total = totalElement.getAsInt(); JsonObject facetsElement = jsonObject.getAsJsonObject("facets"); if (facetsElement == null || facetsElement.isJsonNull()) { return new FacetReport(total, Collections.emptyList()); }/*from w ww . j a va 2 s . c o m*/ return new FacetReport(total, getFacets(facetsElement)); }
From source file:com.fooock.shodan.model.host.FacetReportDeserializer.java
License:Open Source License
private List<Facet> getFacets(JsonObject facetsElement) { final List<Facet> facets = new ArrayList<>(); for (Map.Entry<String, JsonElement> entry : facetsElement.entrySet()) { String key = entry.getKey(); JsonElement property = entry.getValue(); JsonArray jsonArray = property.getAsJsonArray(); final List<Property> properties = new ArrayList<>(jsonArray.size()); for (JsonElement element : jsonArray) { JsonObject facetElement = element.getAsJsonObject(); JsonElement count = facetElement.get("count"); JsonElement value = facetElement.get("value"); final Property prop = new Property(count.getAsInt(), value.getAsString()); properties.add(prop);//from w ww . j a v a 2 s . c o m } final Facet facet = new Facet(key, properties); facets.add(facet); } return facets; }
From source file:com.getperka.flatpack.codexes.NumberCodex.java
License:Apache License
@Override public N readNotNull(JsonElement element, DeserializationContext context) { Object toReturn;// w w w. j av a 2 s . c o m if (BigDecimal.class.equals(clazz)) { toReturn = element.getAsBigDecimal(); } else if (BigInteger.class.equals(clazz)) { toReturn = element.getAsBigInteger(); } else if (Byte.class.equals(clazz)) { toReturn = element.getAsByte(); } else if (Double.class.equals(clazz)) { toReturn = element.getAsDouble(); } else if (Float.class.equals(clazz)) { toReturn = element.getAsFloat(); } else if (Integer.class.equals(clazz)) { toReturn = element.getAsInt(); } else if (Long.class.equals(clazz)) { toReturn = element.getAsLong(); } else if (Short.class.equals(clazz)) { toReturn = element.getAsShort(); } else { throw new UnsupportedOperationException("Unimplemented Number type " + clazz.getName()); } return clazz.cast(toReturn); }
From source file:com.github.strawberry.util.Json.java
License:Open Source License
public static Object parsePrimitive(JsonElement e) { JsonPrimitive p = e.getAsJsonPrimitive(); if (p.isString()) { return e.getAsString(); }/*from w ww . jav a 2s .co m*/ if (p.isBoolean()) { return e.getAsBoolean(); } if (p.isNumber()) { return e.getAsInt(); } return p.getAsString(); }
From source file:com.google.dart.server.internal.remote.processor.JsonProcessor.java
License:Open Source License
/** * Safely get some member off of the passed {@link JsonObject} and return the {@code int}. Instead * of calling {@link JsonObject#has(String)} before {@link JsonObject#get(String)}, only one call * to the {@link JsonObject} is made in order to be faster. The result will be the passed default * value if the member is not on the {@link JsonObject}. This is used for optional json * parameters./* w w w . ja va 2 s . c o m*/ * * @param jsonObject the {@link JsonObject} * @param memberName the member name * @param defaultValue the default value if the member is not in the {@link JsonObject} * @return the looked up {@link JsonArray}, or the default value */ protected int safelyGetAsInt(JsonObject jsonObject, String memberName, int defaultValue) { JsonElement jsonElement = jsonObject.get(memberName); if (jsonElement == null) { return defaultValue; } else { return jsonElement.getAsInt(); } }
From source file:com.graphaware.module.es.Neo4jElasticVerifier.java
License:Open Source License
private void checkIntArray(JsonObject source, String key, Map<String, Object> properties) { assertTrue(source.get(key) instanceof JsonArray); JsonArray jsonArray = source.get(key).getAsJsonArray(); TreeSet<Integer> esSet = new TreeSet(); for (JsonElement element : jsonArray) { esSet.add(element.getAsInt()); }//from ww w . ja v a 2 s . com TreeSet<Integer> nodeSet = new TreeSet(); int[] propertyArray = (int[]) properties.get(key); for (int element : propertyArray) { nodeSet.add(element); } assertEquals(esSet, nodeSet); }
From source file:com.guodong.sun.guodong.entity.picture.PictureContentDeserializer.java
License:Apache License
private int intOrEmpty(JsonElement jsonElement) { return jsonElement == null ? 0 : jsonElement.isJsonNull() ? 0 : jsonElement.getAsInt(); }