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

把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 创建一个数据库(要创建的表和记事本的代码截图))
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口