gpt4 book ai didi

java - spring mvc传输json到对象

转载 作者:行者123 更新时间:2023-12-02 13:36:53 24 4
gpt4 key购买 nike

我正在尝试使用ajax将json发布到我的spring mvc Controller 我在我的js文件中使用这样的代码:

$('#regist').click(function () {
$.ajax({
url: 'user/regist',
contentType: "application/json; charset=utf-8",
type: 'post',
dataType: 'json',
success: function (data) {
var json = JSON.stringify(data);
alert(json);
},
fail: function (errMsg) {
alert(errMsg);
},
data: JSON.stringify({
'IDCard': '1234567890'
})
})
});

我的 Controller 函数的签名是这样的:

@RequestMapping(value = "/regist", method = RequestMethod.POST)
@ResponseBody
public ResultJson regist(HttpSession session, @RequestBody RegistFormJson json)

RegistFormJson 如下所示:

public class RegistFormJson  {
private String IDCard;

public String getIDCard() {
return IDCard;
}

public void setiDCard(String IDCard) {
this.IDCard = IDCard;
}
}

现在,当我发送请求时,以及我使用 Controller 从我得到的内容

logger.info(json.getIDCard);

null。当我将bean属性更改为idCard并更改其他代码时,我可以成功获得结果。谁能告诉我为什么?如果我想在我的代码中使用IDCard,我怎样才能得到结果。谢谢

最佳答案

Spring 附带 Jackson API,它使用标准 Java 代码约定将 JSON 属性映射到 Java 模型。

由于 IDCard 不是小驼峰大小写,Jackson API 无法映射 JSON 属性。

要解决这个问题,您需要在 Java 属性上指定 @JsonProperty("IDCard") 注释,以便将 IDCard 用于 JSON 属性。

同样,您可以在 ObjectMapper 上设置 PropertyNamingStrategy 来解决此问题。

关于java - spring mvc传输json到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42944776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com