我正在设置一个Java游戏服务器请求处理程序,该处理程序将获取json消息并发送回相关的json消息作为响应。 在某些情况下,我需要发送二维String数组作为游戏板。 我在使用json-simple进行操作时遇到问题。 更进一步,之后如何将其解析到客户端板上?谢谢。
char[][] charArray; //initialised
JSONObject jsonOut = new JSONObject();
ObjectOutputStream writer = new ObjectOutputStream(socket.getOutputStream());
JSONArray ja = new JSONArray() ;
ja.add(charArray);
jsonOut.put("board", ja);
writer.writeObject(jsonOut);
在ja.add(charArray);中获取异常
答案 0 :(得分:1)
您正在尝试将整个char[][]
数组添加为JSONArray
中的单个元素。您需要创建一个多维JSONArray
并逐个字符映射char[][]
:
JSONArray jsonArray = new JSONArray();
for (char[] ca : charArray) {
JSONArray arr = new JSONArray();
for (char c : ca) {
arr.add(Character.toString(c)); // or some other conversion
}
jsonArray.add(arr);
}
答案 1 :(得分:0)
您需要拥有一个JsonArrays的JsonArray,就像您的String [] []是一个数组数组一样。