6

このクラスで:

public class Products implements Serializable {
    private BigDecimal productId;
    private float priority;

    public float getPriority() {
        return priority;
    }

    public void setPriority(float priority) {
        this.priority = priority;
    }
}

このような JSON データの逆シリアル化を行う場合:

{"productId":47552,"priority":78}

このエラーが発生しました:

org.codehaus.jackson.map.JsonMappingException: 
Can not deserialize instance of float out of FIELD_NAME token
 at [Source: org.apache.catalina.connector.CoyoteInputStream@103cf49; line: 1, \
 column: 290] (through reference chain: entity.Products["priority"])

ただし、このデータの場合 (優先度の値を引用符で囲みます)

{"productId":47552,"priority":"78"}

うまく動作するので、jackson (1.9.9) は数値を尊重していないようです。ここで何かがおかしいと思います。

4

2 に答える 2

0

long および getter メソッドと setter メソッドが float を使用しているため、優先度を宣言したようです。確認できますか

   public long getPriority() {
            return priority;
        }

        public void setPriority(long priority) {
            this.priority = priority;
        }
于 2012-08-30T12:15:03.773 に答える