json对象和json字符串

前端传json对象和json字符串的区别

Json对象

前端代码

$.ajax({
    url: ctx + "membermessagegroupsend/save.do",
    type: "POST",
    data: {
        mgsPkid:messageId,//用于判断是新增操作还是编辑操作
        title: messageName,
        cinemas: cinemas,
        memberGroupId: groups,
        timeTypeWay: timeTypeWay,
        sendTime: time,
        groupChooseWay: groupChooseWay,
        cinemaChooseWay: cinemaChooseWay,
        smsContent: $("#smsContent").val(),
        pushContent: $("#pushContent").val()
    },
  })

后端代码
方法一:保证前端参数名称和Model中的字段名称一样,就可以用以下方法

@RequestMapping("/save")
@ResponseBody
public Result<String> save(MessageGroupSend messageGroupSend) {
    if(messageGroupSend == null) {
        return createFailedResult("保存失败", "");
    }
    Date now = new Date();
    String userId = ShiroUtils.getUserId();
    if(StringUtils.isBlank(messageGroupSend.getMgsPkid())) {
        String msgPkId = IdUtils.uuid2();
        messageGroupSend.setMgsPkid(msgPkId);
        messageGroupSend.setDelFlag(false);
     }
 }

方法二:如果前端传递的参数和后端的变量名不一样,可以使用RequestParam 接收

@RequestMapping("/save")
@ResponseBody
public Result<String> save(@RequestParam(value = "cinemas") String cinemaCode) {
    if(messageGroupSend == null) {
        return createFailedResult("保存失败", "");
    }
    Date now = new Date();
    String userId = ShiroUtils.getUserId();
    if(StringUtils.isBlank(messageGroupSend.getMgsPkid())) {
        String msgPkId = IdUtils.uuid2();
        messageGroupSend.setMgsPkid(msgPkId);
        messageGroupSend.setDelFlag(false);
     }
 }

方法三:使用HttpServerletRequest接收

@RequestMapping("/save")
    public String getParam(HttpServletRequest request) {
        return request.getParameter("cinemas");
    }

Json字符串

前端代码

$.ajax({
    url: ctx + "membermessagegroupsend/save.do",
    type: "POST",
    data: JSON.stringify({
        mgsPkid:messageId,//用于判断是新增操作还是编辑操作
        title: messageName,
        cinemas: cinemas,
        memberGroupId: groups,
        timeTypeWay: timeTypeWay,
        sendTime: time,
        groupChooseWay: groupChooseWay,
        cinemaChooseWay: cinemaChooseWay,
        smsContent: $("#smsContent").val(),
        pushContent: $("#pushContent").val()
    }),
  })

后端代码
方法一:最常用的方式是使用 Requestbody 实体进行接收

@RequestMapping("/save")
    public String getParam3(@RequestBody MessageGroupSend messageGroupSend) {
        System.out.println(messageGroupSend.toString());
        return messageGroupSend.getCinemas();
    }

前端JSON对象和JSON字符串之间的相互转换

json字符串–>json对象

1.使用原生的js函数进行解析

var obj = eval('(' + str1 + ')'); 

2.使用jquery插件提供的工具进行解析

var obj = $.parseJSON( str1 ); 

json对象 --> json字符串

1.使用JSON官网上提供的json2.js类库对象进行解析

var str = JSON.stringify(str2); 

后端JSON对象和JSON字符串之间的相互转换

对象–>json字符串(序列化)

 String jsonString = JSONObject.toJSONString(school); 

json字符串–>对象(反序列化)

School school2 = JSONObject.parseObject(jsonString, School.class); 

最近,被这样的东西整懵bi了,总结下以备后用。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子松的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值