我的JSON代码存在一个小问题。
getClass
我用它来获取JSON消息,但是如何获取public static void main(String[] args) {
getJSON("https://api.gamerlabs.net/?type=teamspeak3&host=84.200.52.232&port=9989+&query=10011");
}
public static String getJSON(String url) {
try {
String genreJson = IOUtils.toString(new URL(url));
JSONObject genreJsonObject = (JSONObject) JSONValue.parseWithException(genreJson);
System.out.println(genreJsonObject.get("data"));
} catch (IOException | ParseException e) {
e.printStackTrace();
}
return null;
}
(在data-> raw-> virtualserver_maxclients下)?
答案 0 :(得分:0)
根据您用作库的JSON的特定实现,您需要执行以下操作:
// ...
JSONObject genreJsonObject = (JSONObject) JSONValue.parseWithException(genreJson);
JSONObject data = genreJsonObject.getJSONObject("data");
JSONObject raw = data.getJSONObject("raw");
Object virtualserver_maxclients = raw.get("virtualserver_maxclients");
// ...
当然你也可以在一行中写这个,但这样可以更容易追溯NullPointerException
。
Abhängigdavon,welche JSON-Bibliothek du wirklich verwendest,musst du das Folgende machen:
// ... JSONObject genreJsonObject = (JSONObject) JSONValue.parseWithException(genreJson); JSONObject data = genreJsonObject.getJSONObject("data"); JSONObject raw = data.getJSONObject("raw"); Object virtualserver_maxclients = raw.get("virtualserver_maxlicnets"); // ...
Natürlichkannman das Ganze hier auch in einer Zeile schreiben,allerdings kann man hiereinemögliche
NullPointerException
besser nachverfolgen。