【发布时间】:2019-06-05 23:42:33
【问题描述】:
我有一个对 My SQL 数据库的查询,我使用 Spring Boot 将其返回为 Json 格式。 我的问题是它只返回没有键的值,例如:
[
[
"kermit",
6
]
]
我希望它像这样返回:
[
[
"name":"kermit",
"count" :6
]
]
我尝试将 Jackson Annotation jar 文件添加到项目中,并在我的实体模型类中使用 @JsonProperty:
@Entity
@Table(name = "act_id_membership", schema = "activiti", catalog = "")
@IdClass(ActIdMembershipEntityPK.class)
public class ActIdMembershipEntity {
@JsonProperty("name")
private String userId;
@JsonProperty("group")
private String groupId;
@Id
@Column(name = "USER_ID_")
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Id
@Column(name = "GROUP_ID_")
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ActIdMembershipEntity that = (ActIdMembershipEntity) o;
return Objects.equals(userId, that.userId) &&
Objects.equals(groupId, that.groupId);
}
@Override
public int hashCode() {
return Objects.hash(userId, groupId);
}
}
但它仍然没有键返回。我现在应该怎么做?请帮我! 非常感谢!
【问题讨论】:
-
您想要的输出格式不是有效的 JSON。
-
Map 有键值对,所以你可能需要返回一个 map 会被 jackson 自动序列化为 json,我猜你返回的是 arraylist
-
是的,这是真的!我解决了。谢谢!
标签: spring-boot jackson