gpt4 book ai didi

java - 如何修改json响应?

转载 作者:行者123 更新时间:2023-12-02 00:34:45 25 4
gpt4 key购买 nike

我在 API 中过滤数据库查询结果时遇到问题。

也许我会先介绍我的代码,然后解释我的意思。

    @Entity
@Validated
public class Ksiazka {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int idKsiazka;
private int idKategoria;
private String isbn;
@JsonView(DoubleName.class)
private String tytul;
@JsonView(DoubleName.class)
private String autor;
private int stron;
private String wydawnictwo;
private int rokWydania;
private String opis;

public Ksiazka(){ }

public Ksiazka(int idKsiazka, int idKategoria, String isbn, String tytul, String autor, int stron, String wydawnictwo, int rokWydania, String opis) {
this.idKsiazka = idKsiazka;
this.idKategoria = idKategoria;
this.isbn = isbn;
this.tytul = tytul;
this.autor = autor;
this.stron = stron;
this.wydawnictwo = wydawnictwo;
this.rokWydania = rokWydania;
this.opis = opis;
}

public int getIdKsiazka() {
return idKsiazka;
}

public void setIdKsiazka(int idKsiazka) {
this.idKsiazka = idKsiazka;
}

public int getIdKategoria() {
return idKategoria;
}

public void setIdKategoria(int idKategoria) {
this.idKategoria = idKategoria;
}

public String getIsbn() {
return isbn;
}

public void setIsbn(String isbn) {
this.isbn = isbn;
}

public String getTytul() {
return tytul;
}

public void setTytul(String tytul) {
this.tytul = tytul;
}

public String getAutor() {
return autor;
}

public void setAutor(String autor) {
this.autor = autor;
}

public int getStron() {
return stron;
}

public void setStron(int stron) {
this.stron = stron;
}

public String getWydawnictwo() {
return wydawnictwo;
}

public void setWydawnictwo(String wydawnictwo) {
this.wydawnictwo = wydawnictwo;
}

public int getRokWydania() {
return rokWydania;
}

public void setRokWydania(int rokWydania) {
this.rokWydania = rokWydania;
}

public String getOpis() {
return opis;
}

public void setOpis(String opis) {
this.opis = opis;
}
}
<小时/>
@JsonView(DoubleName.class)
@RequestMapping(method = RequestMethod.POST, value = "/getAll")
public List<Ksiazka> find(@RequestParam("id") int id){
List<String> autor = ksiazkaRepo.findInfoById(id); // get result as as list
List<Ksiazka> ksiazkaList = new ArrayList<>(); // create list from Ksiazka
for (String autors : autor) { // returned result you can loop
Ksiazka ksiazka = new Ksiazka(); // create Object to Ksiazka
ksiazka.setAutor(autors);
ksiazkaList.add(ksiazka); //add created object to List
}
return ksiazkaList; // return your list
}
<小时/>
@Repository
public interface KsiazkaRepo extends JpaRepository<Ksiazka, Integer> {

@Query(value = "SELECT ksiazka.tytul, ksiazka.autor FROM IEci8d0gZc.ksiazka WHERE ksiazka.rok_wydania = :id", nativeQuery = true)
List<String> findInfoById(@Param("id") int id); // here you

}
<小时/>

enter image description here

<小时/>

进入正题。

通过创建这样的查询,例如“rok_wydania”= 2014,您将获得以下形式的结果:

[
{
"tytul": null,
"autor": "Język C++. Kompendium wiedzy,Bjarne Stroustrup"
},
{
"tytul": null,
"autor": "Kali Linux. Testy penetracyjne,Joseph Muniz, Aamir Lakhani"
},
{
"tytul": null,
"autor": "Praca z zastanym kodem. Najlepsze techniki,Michael Feathers"
},
{
"tytul": null,
"autor": "Tajemnice JavaScriptu. Podręcznik ninja,John Resig, Bear Bibeault"
},
{
"tytul": null,
"autor": "Java EE 6. Tworzenie aplikacji w NetBeans 7,David R. Heffelfinger"
},
{
"tytul": null,
"autor": "Projektowanie stron internetowych. Przewodnik dla początkujących webmasterów po HTML5, CSS3 i grafice. Wydanie IV,Jennifer Niederst Robbins"
}
]
<小时/>

一切都很酷,因为它从数据库中提取我需要的数据,但 JSON 中的答案不是我想要的。如何检查答案是否分为2。从某种意义上说,标题“标题”落入位置,作者相应地落入位置“作者”。让它看起来像这样:

[
{
"tytul": "Język C++. Kompendium wiedzy",
"autor": ",Bjarne Stroustrup"
},
{
"tytul": "Kali Linux. Testy penetracyjne",
"autor": "Joseph Muniz, Aamir Lakhani"
},
{
"tytul": "Praca z zastanym kodem. Najlepsze techniki",
"autor": "Michael Feathers"
},
{
"tytul": "Tajemnice JavaScriptu. Podręcznik ninja",
"autor": "John Resig, Bear Bibeault"
},
{
"tytul": "Java EE 6. Tworzenie aplikacji w NetBeans 7",
"autor": "David R. Heffelfinger"
},
{
"tytul": "Projektowanie stron internetowych. Przewodnik dla początkujących webmasterów po HTML5, CSS3 i grafice. Wydanie IV",
"autor": "Jennifer Niederst Robbins"
}
]
<小时/>

有什么想法应该改变吗? :D谢谢,SM

最佳答案

尝试通过 ID 查找您的实体 (ksiazka)。

Optional<Ksiazka> maybeKsiazka = Optional.ofNullable(ksiazkaRepo.findOne(id));
if (maybeKsiazka.isPresent() {
return maybeKsiazka.get();
}

如果您想在单独的查询中执行此操作,您可以对 tytul 进行查询,如下所示

@Query(value = "SELECT k.tytul FROM Ksiazka k WHERE k.idKsiazka= :id")
Optional<String> findTytulById(@Param("id") int id);

关于java - 如何修改json响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57989073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com