此过程从服务器发送的消息开始,该消息将变成字符串,最初看起来如下所示:
/713.105.135.149:54969: [{"row 0":[{},{},{},{},{},{},{},{}]},{"row 1":[{},{},{},{},{},{},{},{}]},{"row 2":[{},{},{},{},{},{},{},{}]},{"row 3":[{},{},{},{},{},{},{},{}]},{"row 4":[{},{},{},{},{},{},{},{}]},{"row 5":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]},{"row 6":[{},{},{},{},{},{},{},{}]},{"row 7":[{},{},{},{},{},{},{},{}]}]
message.substring(message.indexOf("["));
接下来,我使用以下代码将其转换为JSONarray
JSONArray jsonArray = new JSONArray(trimmed);
随后,我想索引到它,我可以这样做
jsonArray.get(4);
{"row 4":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]}
,而我真正想要的是
WhitePawn
.
jsonArray.get(4)
JSONObject
,而我认为我需要/想要的是另一个
JSONArray
,这样我可以再次索引到它,类似
JSONArray subArray = jsonArray.get(0);
返回,或被投到,我可以再次索引到的东西?
private void parseMessageRedrawBoard(String message) throws Exception {
Log.d("0000: ", message);
String trimmed = message.substring(message.indexOf("["));
Log.d("1111: ", trimmed);
JSONArray jsonArray = new JSONArray(trimmed);
//"column 0"
Object subArray = jsonArray.get(4);
Log.d("YES: ", subArray.toString());
}