十口文 2016-10-17 02:37 采纳率: 100%
浏览 11743
已采纳

把json里的值取出来,转回byte数组

我的json是这样的:{“2”:[-1, -40, -1, -18, 0, 14, 65, 100, 111, 98, 101, 0, 100, 0, 0, 0, 0, 1, -1, -31, 35, 45, 69, 120, 105, 102, 0, 0, 77, 77, 0, 42, 0, 0, 0, 8, 0, 15, 1, 14, 0, 2, 0, 0, 0, 30, 0, 0, 8, -50, 1, 15, 0, 2, 0, 0, 0, 16, 0, 0, 8, -20, 1, 16, 0, 2, 0, 0, 0, 10, 0, 0, 8, -4, 1, 18, 0, 3, 0, 0, 0, 1, 0, 1, 0, 0, 1, 26, 0, 5, 0, 0, 0, 1, 0, 0, 9, 6, 1, 27, 0, 5, 0, 0, 0, 1, 0, 0, 9, 14, 1, 40, 0, 3, 0, 0, 0, 1, 0, 2, 0, 0, 1, 49, 0, 2, 0, 0, 0, 28, 0, 0, 9, 22, 1, 50, 0, 2, 0, 0, 0, 20, 0, 0, 9, 50, 1, 59, 0, 2, 0, 0, 0, 10, 0, 0, 9, 70, 2, 19, 0, 3, 0, 0, 0, 1, 0, 1, 0, 0]}
怎样可以把json.get("2")转成byte[]
我是把json传到servlet里,再转回json,取出来转不回byte[]
代码是这样的:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
   {
      // TODO Auto-generated method stub
      System.out.println("5656");
      String data = request.getParameter("data");
      System.out.println("在servlet里的:" + data);

      JSONObject json = net.sf.json.JSONObject.fromObject(data);
      Map<String, byte[]> map = (Map<String, byte[]>)json.toBean(json, Map.class);
      System.out.println("--" + map.get("2"));


      byte[] bytes = map.get("2"); //这里报异常,转不了,json.get("2")也是同样的情况
      System.out.println(bytes[1]);

   }




  • 写回答

7条回答 默认 最新

  • 十口文 2016-10-17 05:08
    关注

    谢谢大家,我把字节数组转成Base64编码的字符串,传过去再解码,就可以了~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘