将有效JSON的字符串转换为Java中的JSON对象,这样我就可以对其进行索引
我有这个字符串:将有效JSON的字符串转换为Java中的JSON对象,这样我就可以对其进行索引,java,json,serialization,Java,Json,Serialization,我有这个字符串: [{"row 0":[{},{},{},{},{},{},{},{}]},{"row 1":[{},{},{},{},{},{},{},{}]},{"row 2":[{},{},{},{},{},{},{},{}]},{"row 3":[{},{},{},{},{},{},{},{}]},{"row 4":[{"column 0":"WhitePawn"},{},{},{},{},{},{},{}]},{"row 5":[{},{},{},{},{},{},{},{}]},{"
[{"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());
}
}
但它不起作用。如何在Java中实现这一点
代码看起来是这样的:
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());
}
}
您正在修剪字符串并将其转换为无效的JSON JSON以“[”开头,表示它是一个数组。如果它以“{”开头,则可以假定它是一个对象 因此,由于您的JSON是一个数组,您可以解析您提到的内容:
JSONArray jsonArray = new JSONArray(string);
并访问列表中的元素:
jsonArray.get(0);
如何“不起作用”?分享代码、错误、我们帮助您的方法,记住我们并不是你身边的人,知道所有人都说它是有效的JSON。你有例外吗?JSON以
[
,这意味着它是一个数组,而不是一个对象,所以请使用JSONArray
。@Andreas好的,我接受你对它投了反对票,你告诉我是很荣幸的why@Andreas另一个家伙给出了正确的答案,但是你知道我会怎么索引吗?不错的人,我认为这很有效,但是现在我怎么索引呢?我试过了这jsonArray[1]
但它不起作用,我想获取该值WhitePawn
无需切换JSON库来解决问题。@Andreas你在说什么问题,我很确定解决方案worked@s.matthew.english这是一个不同的问题。现在您已经知道如何无误地解析JSON,如果您在使用解析的JS时遇到问题在上,您应该创建另一个问题,请求帮助,展示您尝试过的内容以及您遇到的困难。不要尝试将此问题转化为其他问题。但是,在创建新问题之前,请进行一些研究,因为很可能其他人也遇到过同样的问题,而web已经有了您正在寻找的答案。