Как поместить имя свойства в JSON в Java Spring - PullRequest
1 голос
/ 22 апреля 2020

Я уже могу создать JSON в моем java пружинном коде, как показано ниже:

[{"language":"33270100","value":100.0}]

, но проблема в том, как я могу присвоить свой идентификатор JSON следующим образом:

 ["Identifier":{"language":"33270100","value":100.0}]

ниже - мой код в java spring, потому что он поможет мне в будущем, когда я буду писать код в моем экспериментальном проекте:

import javax.persistence.ColumnResult;
import javax.persistence.ConstructorResult;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import javax.persistence.SqlResultSetMapping;

import com.fasterxml.jackson.annotation.JsonProperty;

@SqlResultSetMapping(name = "highAvailResult", classes = {
        @ConstructorResult(targetClass = dashboard.atmandcam.model.HighAvailabilityCam.class, columns = {
                @ColumnResult(name = "terminal_id", type = String.class),
                @ColumnResult(name = "availability_percentage", type = Double.class)
        })
})

@NamedNativeQueries({
    @NamedNativeQuery(
            name = "GetRangeHighAvail.getData",
            query = "SELECT DISTINCT da.terminal_id, da.availability_date, da.availability_percentage\r\n" + 
                    "FROM dashboard.availability da\r\n" + 
                    "INNER JOIN dashboard.down_event de ON de.terminal_id = da.terminal_id\r\n" + 
                    "WHERE da.availability_percentage >= 95\r\n" + 
                    "AND da.availability_date BETWEEN ?1 AND ?2 \r\n" + 
                    "AND da.terminal_id IN (SELECT terminal_id FROM dashboard.inventory WHERE machine_type = 'CAM')",
            resultSetMapping = "highAvailResult"
            ),
    @NamedNativeQuery(
            name = "GetHighAvail.getData",
            query = "SELECT DISTINCT da.terminal_id, da.availability_date, da.availability_percentage\r\n" + 
                    "FROM dashboard.availability da\r\n" + 
                    "INNER JOIN dashboard.down_event de ON de.terminal_id = da.terminal_id\r\n" + 
                    "WHERE da.availability_percentage >= 95\r\n" + 
                    "AND da.availability_date = ?1  \r\n" + 
                    "AND da.terminal_id IN (SELECT terminal_id FROM dashboard.inventory WHERE machine_type = 'CAM')",
            resultSetMapping = "highAvailResult"
            )
})
@Entity
public class HighAvailabilityCam {

    @Id
    private Long id;

    @JsonProperty("language")
    private String terminalId;

    @JsonProperty("value")
    private double availabilityPercentage;

    public HighAvailabilityCam(String termId, double availPercentage) {
        super();
        this.terminalId = termId;
        this.availabilityPercentage = availPercentage;
    }

    public HighAvailabilityCam() { }
}

Любая помощь будет принята с благодарностью. Я все еще новичок в java весной и в настоящее время работаю над собственным проектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...