我正在使用 Spring MVC 3 和 MappingJacksonHttpMessageConverter 在将我的 java 对象发送到我的客户端时将它们序列化为 JSON。我的问题是 Java long 值在客户端被四舍五入,因为 Javascript 数字无法处理 long 值的精度。为了解决这个问题,我将把这些字段作为字符串而不是 long 发送。有什么方法可以让 Spring 自动将 long 转换为字符串,而无需我在控制器中强制转换每个返回值?
问问题
1402 次
1 回答
0
您可以使用 import org.apache.commons.beanutils.* 添加字符串类型的新变量来复制对象;
public class Object {
String a;
Long b;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public Long getB() {
return b;
}
public void setB(Long b) {
this.b = b;
}}
public class Object2 extends Object{
String f;
public String getF() {
return b.toString();
}}
public static void main( String[] args ) throws IllegalAccessException, InvocationTargetException
{
Object m = new Object();
m.setA("aa");
m.setB((long) 22222);
Object2 m2 = new Object2();
BeanUtils.copyProperties(m2, m);
//now you can convert m2 to JSONobject
}
于 2012-10-23T21:26:09.643 回答