如何使用json-simple将2个二维数组写入Java中的json对象?

时间:2019-07-11 12:33:10

标签: java json-simple

我正在设置一个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);中获取异常

2 个答案:

答案 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 [] []是一个数组数组一样。