繁体   English   中英

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

[英]How to write 2 two-dimensional array to json object in java using json-simple?

我正在设置一个 java 游戏服务器请求处理程序,它获取 json 消息并将相关的 json 消息作为响应发回。 在某些情况下,我需要发送二维字符串数组作为游戏板。 我在使用 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) 时出现异常;

您正在尝试将整个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);
}

你需要有一个 JsonArray 的 JsonArray,就像你的 String[][] 是一个数组数组一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM