0

我有一个 Javascript 应用程序,它使用 Java 作为 Hibernate、Spring 和 MySQL 的后端。问题是,即使我在我的数据库以及我的实体源中将列大写,我在从后端返回的 JSON 中获得了小写的列名。

这是模型来源:

package app.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonAutoDetect;

@JsonAutoDetect
@Entity
@Table(name="resources")
public class Resource {

    @Id
    @GeneratedValue
    @Column(name="Id")
    private int Id;

    @Column(name="Name", nullable=false)
    private String Name;

    public int getId() {
        return Id;
    }

    public void setId(int id) {
        this.Id = id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        this.Name = name;
    }
}

和返回的 JSON :

{"data":[{"name":"Tom","id":8},{"name":"Mike","id":9},{"name":"Jerry","id":10},{"name":"Larry","id":11},{"name":"Tina","id":12},{"name":"Tony","id":15}],"success":true}

这种行为是否可以以某种方式覆盖/可配置?如果需要更多信息,我将使用所需数据更新帖子。

4

2 回答 2

3

尝试这个..

@JsonProperty("Id")
public int getId() {
    return Id;
}

public void setId(int id) {
    this.Id = id;
}
@JsonProperty("Name")
public String getName() {
    return Name;
}

public void setName(String name) {
    this.Name = name;
}
于 2012-12-13T10:57:14.210 回答
3

这是 Jackson 基于 getter 方法名称的常规输出。使用@JsonProperty注释来覆盖此行为。

于 2012-12-13T01:49:23.190 回答