如何在Spring中自动将长值转换为字符串?

时间:2012-10-23 18:11:14

标签: java javascript json spring spring-mvc

我正在使用Spring MVC 3和MappingJacksonHttpMessageConverter将我的java对象序列化为JSON,当它们被发送到我的客户端时。我的问题是Java长值在客户端被舍入,因为Javascript数字无法处理长值的精度。为了解决这个问题,我将把这些字段作为字符串而不是长字发送。有没有办法自动将Spring转换为字符串而不必在我的控制器中转换每个返回值?

1 个答案:

答案 0 :(得分:0)

您可以使用添加String类型的新变量来复制对象 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

}