JSON和subJSON

时间:2015-10-16 18:44:08

标签: java json

我的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下)?

1 个答案:

答案 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öglicheNullPointerException besser nachverfolgen。