繁体   English   中英

从JSON请求获取数据

[英]Get data from JSON request

我正在尝试从JSON请求访问某些数据,但是我无法获得足够的数据以获取所需的信息。

我使用的网站: https : //tibiadata.com/doc-api-v2/guilds/

很好的例子是“胫骨的一个特定行会”下的1。

我要获取的信息是行会->成员->字符下的名称/状态。

这是我到目前为止所做的:

JSONObject root = new JSONObject(sb.toString()); //Get the info into root
JSONObject guildArray = root.getJSONObject("guild"); //Get the info under "guild"
JSONArray members = guildArray.getJSONArray("members"); //Get the info unders members

这一点

System.out.println(members.get(0));

会给

{"characters":[{"nick":"Coffee time","vocation":"Elite Knight","level":336,"joined":"2017-12-27","name":"Pelli Moulante","status":"online"}],"rank_title":"Leader"}

因此,我唯一想念的部分是进入“字符”以获取名称/状态信息。

知道我在做什么错吗?

members.get(0)将返回成员JSONArray的第一个JsonObject

{
    "rank_title": "Ivory Guardian",
    "characters": [
      {
        "name": "Tanthalas the Fourth",
        "nick": "Legendary naab",
        "level": 138,
        "vocation": "Elder Druid",
        "joined": "2008-06-17",
        "status": "offline"
      }, {
        "name": "Bubbax",
        "nick": "Deco man",
        "level": 230,
        "vocation": "Elder Druid",
        "joined": "2014-08-29",
        "status": "offline"
      },
    ]
  }

从这个获得charactersJSONArray它由JsonObject ,然后遍历JSONArray使用循环

for(Object obj : members.getJsonObject(0).getJSONArray("characters")) {

           JSONObject p = (JSONObject) obj;
           System.out.println(p.get("name");
           System.out.println(p.get("status");
           }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM