为了账号安全,请及时绑定邮箱和手机立即绑定

如何在jQuery ajax调用中使用数组字符串?

如何在jQuery ajax调用中使用数组字符串?

交互式爱情 2019-04-18 18:15:54
通过使用jQuery,我试图在后端保存我的字符串数组,以下是我的方法。1.使用jQuery ajax发送数组。var tagTexts = $(ul li.select2-selection__choice")                    .toArray()                    .map(function(i){                        return i.innerText;                    });tagTexts = tagTexts.join(',');$.ajax({     type: 'POST' ,     url: '/tag/tagList',     dataType: 'json',     data: {         tagTexts: tagTexts    },     error: function(err) {        console.log(err);     },     success: function(response) {         //Process Response     }});2.在后端,检索如下:@ResponseBody@RequestMapping(value = "/tag/tagList", method = RequestMethod.POST)public String saveTagList(HttpServletRequest request,                                   @RequestParam(value = "tagTexts", required = false)List<String>tagTexts) {      System.out.println(tagTexts);      String response = tagService.saveTags(tagTexts);      return response;}a)使用数组连接方法以下是捕获的字符串数组:["Drone", "Richard Feynman, PHD", "Yatch"]使用数组连接方法后,它会更改如下:Drone,Richard Feynman, PHD,Yatch在java执行(后端)中,它显示如下:[Drone, Richard Feynman, PHD, Yatch]b)使用JSON.stringify方法使用JSON.stringify方法后,捕获的数组显示如下:["Drone", "Richard feynman, PHD", "Yatch"]这在js级别看起来很好但是这整行被认为是一个字符串,它在后端显示如下:[["Drone", "Richard feynman, PHD", "Yatch"]].我期待我的代码工作如下:捕获的原始数据元素中的逗号字符不应拆分。整个数组不应该在后端显示为字符串。有没有更好的方法来实现这一目标?
查看完整描述

2 回答

?
开满天机

TA贡献1786条经验 获得超13个赞


您的JSON.stringify javascript是正确的解决方案。您只需要在java后端解析JSON。例如,


import org.json.simple.JSONObject;

JSONParser parser = new JSONParser();

JSONObject json = (JSONObject) parser.parse(tagTexts);

有关如何在java中解析JSON的替代方法,请参见如何将Java中的jsonString转换为JSONObject


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 649 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号