我有这个字符串:
[{"row 0":[{},{},{},{},{},{},{},{}]},{"row 1":[{},{},{},{},{},{},{},{}]},{"row 2":[{},{},{},{},{},{},{},{}]},{"row 3":[{},{},{},{},{},{},{},{}]},{"row 4":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]},{"row 5":[{},{},{},{},{},{},{},{}]},{"row 6":[{},{},{},{},{},{},{},{}]},{"row 7":[{},{},{},{},{},{},{},{}]}]
^它当前是一个字符串,我们称它为string
。
我正在尝试将其转换为JSON,如下所示:
new JSONObject(string);
但它不起作用。在Java中如何做到这一点呢?
代码看起来像这样:
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());
}
}
发布于 2018-10-14 04:52:54
您正在修剪字符串并将其转换为无效的JSON。
您的JSON以"[“开头,表示它是一个数组。如果它以"{“开头,你可以假设它是一个对象。
因此,由于您的JSON是一个数组,因此您可以使用以下命令来解析您提到的内容:
JSONArray jsonArray = new JSONArray(string);
并访问列表中的元素:
jsonArray.get(0);
https://stackoverflow.com/questions/52797141
复制相似问题