首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在从字符串转换之后,在Java中对json子数组进行粒度索引

在从字符串转换之后,在Java中对json子数组进行粒度索引
EN

Stack Overflow用户
提问于 2018-10-14 05:37:25
回答 1查看 48关注 0票数 0

这个旅程从一条来自服务器的消息开始,它变成了一个字符串,最初看起来是这样的:

/713.105.135.149:54969: [{"row 0":[{},{},{},{},{},{},{},{}]},{"row 1":[{},{},{},{},{},{},{},{}]},{"row 2":[{},{},{},{},{},{},{},{}]},{"row 3":[{},{},{},{},{},{},{},{}]},{"row 4":[{},{},{},{},{},{},{},{}]},{"row 5":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]},{"row 6":[{},{},{},{},{},{},{},{}]},{"row 7":[{},{},{},{},{},{},{},{}]}]

然后我会截断所有无效的JSON,比如message.substring(message.indexOf("["));

之后,我使用下面的代码JSONArray jsonArray = new JSONArray(trimmed);将它转换为JSONarray

随后,我想要对其进行索引,我可以像这样做jsonArray.get(4);

但是这将返回{"row 4":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]},而我实际需要的是WhitePawn

问题是jsonArray.get(4)只给了我一个JSONObject,而我认为我需要/想要的是另一个JSONArray,所以我可以再次索引它,就像JSONArray subArray = jsonArray.get(0);一样,问题是,这不起作用。

如何才能使jsonArray.get(4)的结果返回或转换为我可以再次索引的内容?

完整的代码如下所示:

    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());
    }
EN

回答 1

Stack Overflow用户

发布于 2018-10-14 05:45:14

剧透提醒,JSONArray subArray = jsonArray.getJSONArray(4);不工作了,就这么多了!

但这行得通..。

    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"

        JSONObject subObject = jsonArray.getJSONObject(4);

        JSONArray result = subObject.getJSONArray("row 4");

        Log.d("YES: ", result.get(0).toString());
    }

感谢@Andreas的提示!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52797565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档