【发布时间】:2021-06-30 09:38:28
【问题描述】:
所以在下面我创建了一个请求,响应字符串如下所示:
{players=18.0, lobbies=[{id=1329.0, name=Desert Duel!, players=[{id=576.0, name=cipherxof, rank=0.0, host=true}, {id=596.0, name=FTP, rank=0.0, host=false}, {id=442.0, name=Keyboard+Mouse, rank=6.0, host=false}], maxPlayers=16.0, locked=false, currentGame=0.0, games=[[0.0, 17.0, 2.0]], comment=Come test this custom map!}, {id=1410.0, name=mix 24/7, players=[], maxPlayers=13.0, locked=false, currentGame=0.0, games=[[7.0, 7.0, 0.0], [3.0, 5.0, 2.0], [7.0, 2.0, 0.0], [2.0, 5.0, 2.0], [7.0, 10.0, 0.0], [4.0, 6.0, 0.0], [2.0, 3.0, 2.0], [12.0, 15.0, 2.0], [4.0, 7.0, 0.0], [7.0, 3.0, 0.0], [6.0, 10.0, 0.0], [5.0, 7.0, 0.0]], comment=EU Host. Have fun}, {id=1642.0, name=Harambe Mix, players=[{id=426.0, name=Dormant-Hero, rank=0.0, host=true}, {id=48.0, name=Solid-Freeman, rank=0.0, host=false}, {id=567.0, name=Boris, rank=0.0, host=false}, {id=740.0, name=Kojima, rank=0.0, host=false}, {id=632.0, name=Bassernic, rank=0.0, host=false}, {id=123.0, name=xXChronosXx, rank=0.0, host=false}, {id=301.0, name=dr.penguin, rank=0.0, host=false}, {id=621.0, name=EROS, rank=0.0, host=false}, {id=705.0, name=lacefrontt, rank=0.0, host=false}, {id=794.0, name=Stravaganzza, rank=0.0, host=false}, {id=58.0, name=A H M A D, rank=0.0, host=false}, {id=34.0, name=Bloody, rank=9.0, host=false}], maxPlayers=13.0, locked=false, currentGame=7.0, games=[[7.0, 1.0, 0.0], [1.0, 5.0, 0.0], [7.0, 2.0, 0.0], [5.0, 2.0, 0.0], [16.0, 10.0, 0.0], [4.0, 6.0, 0.0], [7.0, 3.0, 0.0], [2.0, 15.0, 2.0], [4.0, 7.0, 0.0], [7.0, 3.0, 0.0], [6.0, 10.0, 0.0], [5.0, 7.0, 0.0]], comment=EU Host. Have fun}, {id=1652.0, name=MIXX, players=[{id=530.0, name=Petronas, rank=0.0, host=true}, {id=553.0, name=Dormant-Hero2, rank=0.0, host=false}, {id=727.0, name=Becky, rank=0.0, host=false}], maxPlayers=12.0, locked=false, currentGame=0.0, games=[[15.0, 7.0, 0.0], [3.0, 5.0, 0.0], [5.0, 2.0, 2.0], [3.0, 7.0, 0.0], [2.0, 5.0, 2.0], [16.0, 3.0, 0.0], [3.0, 8.0, 2.0], [5.0, 10.0, 0.0], [2.0, 15.0, 2.0], [5.0, 12.0, 0.0], [3.0, 6.0, 0.0], [16.0, 2.0, 0.0], [2.0, 7.0, 0.0], [3.0, 1.0, 0.0], [5.0, 15.0, 0.0]], comment=}]}
我需要球员和大部分大厅信息。但是我不能完全弄清楚我需要对这个字符串做什么,以便我可以访问所有这些。我能做些什么?谢谢!
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
private void test_connect(){
//get request
Log.d("GetRequest","Start that GET baby");
final OkHttpClient client = new OkHttpClient();
final Request request = new Request.Builder().url("api url").build();
Thread thread = new Thread() {
@Override
public void run() {
try (Response response = client.newCall(request).execute()) {
String responseData = response.body().string();
JSONObject json = new JSONObject(responseData);
// HashMap<String, Object> mapped = new Gson().fromJson(json.getString("data"), HashMap.class);
final String owner = json.getString("data");
Log.d("ShoRequest", owner.toString());
} catch (Exception ex) {
// Any other exception
Log.d("diditworkexception", String.valueOf(ex));
}
}
};
thread.start();
}
【问题讨论】:
-
创建一个与其相似的模型并将您的响应映射到该模型,然后您可以从该模型中获取所需的数据
-
听起来不错。但是我实际上不知道该怎么做。我的意思是创建一个模型。我会用谷歌搜索你所说的,看看它会把我带到哪里。谢谢
标签: android json hashmap okhttp