关于json数据传输乱码问题

来源:互联网 发布:2017淘宝开店营业执照 编辑:程序博客网 时间:2024/04/30 15:18

关于json数据传输乱码问题     

   ArrayList<weather> lists=new ArrayList<weather>();
 
JSONArray jsonArray=JSONArray.fromObject(lists);


        String result=jsonArray.toString();

        writer.write("("+result+")");


在数据传输的,或者将result打印出来以后出现乱码的现象,结果是:

[{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"},{"data":"16\u65e5\uff08\u5468\u4e00\uff09","tem":"19\u2103/15\u2103","wea":"\u9634\u8f6c\u591a\u4e91","win":"\u4e1c\u5317\u98ce\u00203\u002d4\u7ea7"}]

可能是json数据格式问题,


我是这样接解决的:在前端设置一个回调函数,

String jsonp=request.getParameter("callbackparam");

JSONArray jsonArray=JSONArray.fromObject(lists);

 String result=jsonArray.toString();

writer.write(jsonp+"("+result+")");

然后通过回调函数将json对象带回去,结果为:

  1. 0:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  2. 1:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  3. 2:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  4. 3:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  5. 4:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  6. 5:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}
  7. 6:{data: "16日(周一)", tem: "19℃/15℃", wea: "阴转多云", win: "东北风 3-4级"}