【发布时间】:2017-10-09 23:08:41
【问题描述】:
我正在编写一个 RESTful API 程序以部署在 AWS 上。我正在从程序中获取 JSON 输出。当我测试程序时,它返回的 JSON 输出与预期的输出不同。方向、大写和小写也不如我所愿。
预期输出:
[
{
"Username": "****",
"UUID": "****",
"Tenant_ID": "****",
"Site_ID": "****"
}
]
收到的输出:
[
{
"UUID": "****",
"site_ID": "****",
"tenant_ID": "****",
"userName": "****"
}
]
资源代码:
public List<Data> getData(){
List<Data> list = new ArrayList<>();
Connection conn = null;
Statement stat = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL);
stat = conn.createStatement();
String sql = "SELECT * FROM data";
ResultSet resu = stat.executeQuery(sql);
while(resu.next()){
String UserName = resu.getString("username");
String UUID = resu.getString("UUID");
String Tenant_ID = resu.getString("tenant_id");
String Site_ID = resu.getString("site_id");
list.add(new Data(UserName, UUID, Tenant_ID, Site_ID));
}
resu.close();
stat.close();
conn.close();
}
catch(SQLException se){
se.printStackTrace();
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
if(stat!=null){
stat.close();
}
}
catch (SQLException se2){
se2.printStackTrace();
}
try{
if(conn!=null){
conn.close();
}
}
catch(SQLException se3){
se3.printStackTrace();
}
}
return list;
}
服务代码:
@Produces(MediaType.APPLICATION_JSON)
@GET
@Path("/v2")
public List<Data> getData(){
return ds.getData();
}
数据类:
public class Data {
private String UserName;
private String UUID;
private String Tenant_ID;
private String Site_ID;
public Data(){
}
public Data(String userName, String uUID, String tenant_ID, String site_ID) {
super();
UserName = userName;
UUID = uUID;
Tenant_ID = tenant_ID;
Site_ID = site_ID;
}
public Data(String uUID, String tenant_ID, String site_ID) {
super();
UUID = uUID;
Tenant_ID = tenant_ID;
Site_ID = site_ID;
}
@JsonProperty("Username")
public String getUserName() {
return UserName;
}
public void setUserName(String userName) {
UserName = userName;
}
@JsonProperty("UUID")
public String getUUID() {
return UUID;
}
public void setUUID(String UUID) {
this.UUID = UUID;
}
@JsonProperty("Tenant_ID")
public String getTenant_ID() {
return Tenant_ID;
}
public void setTenant_ID(String tenant_ID) {
Tenant_ID = tenant_ID;
}
@JsonProperty("Site_ID")
public String getSite_ID() {
return Site_ID;
}
public void setSite_ID(String site_ID) {
Site_ID = site_ID;
}
}
感谢每一位帮助这个问题的成员。
【问题讨论】:
-
要么您需要更改 rest api 中的代码以返回 JSON,要么接受该 json 并在您身边进行操作。
-
嗨。 @NitinDhomse 上面是我在 REST API 中返回 JSON 的代码,我希望修改它以获得预期的输出,但我不知道在哪里修改它。
-
你能在
Data类的顶部发布你的导入吗?我怀疑您正在导入一个稍微错误的注释,因此@JsonProperty不会按照您的预期进行。 -
嗨。 @RyanWeir 我的导入是
import com.fasterxml.jackson.annotation.JsonProperty;。
标签: java json amazon-web-services amazon-rds