代码之家  ›  专栏  ›  技术社区  ›  smatthewenglish

将有效JSON的字符串转换为java中的JSON对象,这样我就可以索引到其中

  •  -2
  • smatthewenglish  · 技术社区  · 7 年前

    我有这个字符串:

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

    string

    我试着把它转换成JSON,就像这样:

    new JSONObject(string);
    

    代码看起来是这样的:

        private void parseMessageRedrawBoard(String message) {
    
            Log.d("0000: ", message);
    
            String trimmed = message.substring(message.indexOf("["));
    
            Log.d("1111: ", trimmed);
    
            JSONObject jsonObject = null;
            try {
                jsonObject = new JSONObject(trimmed);
                Log.d("maybe worked...", "~");
            } catch (Exception e) {
                Log.d("dammit: ", e.getMessage());
            }
    
        }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   clayton.carmo    7 年前

    JSON以“[”开头,表示它是一个数组。如果它以“{”开头,你可以假设它是一个对象。

    因此,由于您的JSON是一个数组,您可以解析您提到的内容:

    JSONArray jsonArray = new JSONArray(string);
    

    jsonArray.get(0);
    
    推荐文章