AWSにデプロイするRESTful APIプログラムを作成しています。私はプログラムからJSON出力を取得しています。プログラムをテストすると、予想される出力と同じでないJSON出力が返されます。オリエンテーション、大文字、小文字は、私が望むとおりには正しくありません。JSON出力Java
予想される出力:受信
[
{
"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;
}
}
感謝。
JSONを返すための残りのAPIのコードを変更するか、JSONを受け入れて自分の側で操作する必要があります。 –
こんにちは。 @NitinDhomse上記はJSONを返すためのREST APIのコードです。予想される出力を得るためにそれを変更したいのですが、どこを変更するのかわかりません。 –
'Data'クラスの先頭にインポートを投稿できますか? '@ JsonProperty'があなたが期待していることをしないように、ちょっと間違ったアノテーションをインポートしていると思われます。 –