Ich schreibe ein RESTful-API-Programm, das auf AWS bereitgestellt wird. Ich bekomme JSON-Ausgabe vom Programm. Beim Testen des Programms wird die JSON-Ausgabe zurückgegeben, die nicht der erwarteten Ausgabe entspricht. Die Ausrichtung, Groß- und Kleinschreibung stimmt auch nicht so, wie ich es möchte.JSON Ausgabe Java
Erwartete Ausgabe:
[
{
"Username": "****",
"UUID": "****",
"Tenant_ID": "****",
"Site_ID": "****"
}
]
Ausgang empfangen:
[
{
"UUID": "****",
"site_ID": "****",
"tenant_ID": "****",
"userName": "****"
}
]
Ressourcen Code:
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;
}
Servicecode:
@Produces(MediaType.APPLICATION_JSON)
@GET
@Path("/v2")
public List<Data> getData(){
return ds.getData();
}
Klasse
Daten:
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;
}
}
Dank für jedes Mitglied, das in dieser Frage helfen.
Entweder müssen Sie den Code in der Rest-API für die Rückgabe von JSON ändern oder diesen JSON akzeptieren und an Ihrer Seite manipulieren. –
Hallo. @NitinDhomse Oben ist mein Code in der REST-API für die Rückgabe von JSON und ich möchte ihn ändern, um die erwartete Ausgabe zu erhalten, aber ich weiß nicht, wo ich ihn ändern soll. –
Können Sie Ihre Importe am Anfang Ihrer 'Data'-Klasse veröffentlichen? Ich vermute, dass Sie eine leicht falsche Anmerkung importieren, so dass '@ JsonProperty' nicht das tut, was Sie erwarten. –