1

Spring MVC 3 と MappingJacksonHttpMessageConverter を使用して、クライアントに送信されるときに Java オブジェクトを JSON にシリアライズしています。私の問題は、Javascript の数値が長い値の精度を処理できないため、Java の長い値がクライアントで丸められていることです。これを回避するために、これらのフィールドを long ではなく文字列として送信します。コントローラーですべての戻り値をキャストしなくても、Spring が long を文字列に自動的に変換する方法はありますか?

4

1 に答える 1

0

import org.apache.commons.beanutils.*; を使用して String 型の新しい変数を追加してオブジェクトをコピーできます。

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 に答える