Spring和Json字段映射,可以是String或Boolean

时间:2017-11-03 14:06:01

标签: javascript java angularjs json spring

我的对象中有一个String value字段,但这个字段甚至可以是true或false。现在,映射会像value: "true"一样创建String,这会产生一些angularjs ng-model映射的问题,因为它需要boolean。 有一种方法可以向Spring / Jackson表明String的真或假必须没有""吗? 或者您有一些建议可以轻松地将此值转换为布尔值? 目前我正在通过javascript使用类似

的代码初始化值
if ($(element)[0].value == "true")
   $(element).iCheck('check');
else
   $(element).iCheck('update');

但这是一个解决方法,我有价值变化的问题(我发布了一个问题here)。 唯一的解决方案是将此值更改为javascript? 感谢

2 个答案:

答案 0 :(得分:1)

你可以customize how your data is serialized in Jackson。然后,您只需将值作为布尔值从服务器返回。

编辑重新:3字段与上面的字符串注释

这正是您应该在服务器端处理控制器返回的内容。利用该图层并转换Jackson Mapper中的值或直接在数据访问层中转换(使该模型从该层开始保持一致)。

答案 1 :(得分:0)

在java脚本中,您可以使用JSON.parse("true")返回布尔值

console.log(true==JSON.parse("true")) //true