this is my code, and i can get strings like status, but for example "proxy" i cannot because is inside of "8.8.8.8", my question is, how can I get the value of "proxy" with GSON.
{
"status": "ok",
"8.8.8.8": {
"asn": "AS15169",
"provider": "Google LLC",
"continent": "North America",
"country": "United States",
"isocode": "US",
"latitude": 37.751,
"longitude": -97.822,
"proxy": "no",
"type": "Business"
}
}
public static void main(String[] args) {
URL url = null;
try {
url = new URL("https://proxycheck.io/v2/8.8.8.8?vpn=1&asn=1&tag=proxycheck.io");
URLConnection request = url.openConnection();
request.connect();
JsonParser jp = new JsonParser();
JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
System.out.println(root);
JsonObject rootobj = root.getAsJsonObject();
JsonElement proxy = rootobj.get("8.8.8.8");
System.out.println(proxy);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
You can get the "proxy" field in "8.8.8.8" from that JSON object like this:
JsonObject rootobj = root.getAsJsonObject();
JsonElement network = rootobj.get("8.8.8.8");
String proxy = network.getAsJsonObject().get("proxy").getAsString();
System.out.println(proxy);
returns:
no
complete example:
import java.net.URL;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class Main {
public static void main(String[] args) {
String jsonString = "{"
+ " \"status\": \"ok\","
+ " \"8.8.8.8\": {"
+ " \"asn\": \"AS15169\","
+ " \"provider\": \"Google LLC\","
+ " \"continent\": \"North America\","
+ " \"country\": \"United States\","
+ " \"isocode\": \"US\","
+ " \"latitude\": 37.751,"
+ " \"longitude\": -97.822,"
+ " \"proxy\": \"no\","
+ " \"type\": \"Business\""
+ " }"
+ "}";
JsonParser jp = new JsonParser();
JsonElement root = jp.parseString(jsonString);
System.out.println(root);
JsonObject rootobj = root.getAsJsonObject();
JsonElement network = rootobj.get("8.8.8.8");
String proxy = network.getAsJsonObject().get("proxy").getAsString();
System.out.println(proxy);
}
}
String str = "{\"status\":\"ok\",\"8.8.8.8\":{\"asn\":\"AS15169\",\"provider\":\"Google LLC\",\"continent\":\"North America\",\"country\":\"United States\",\"isocode\":\"US\",\"latitude\":37.751,\"longitude\":-97.822,\"proxy\":\"no\",\"type\":\"Business\"}}"; JsonObject jsonObject = new JsonParser().parse(str).getAsJsonObject(); JsonObject data = jsonObject.getAsJsonObject("8.8.8.8"); String proxy = data.get("proxy").getAsString(); System.out.println(proxy);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.