gpt4 book ai didi

java - 来自 RESTful 的 Json

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:08 25 4
gpt4 key购买 nike

我正在尝试创建 Spring Restful 服务,它应该返回:

{"counts": [{"SearchText1": 11}, {"SearchText2": 16}, {"SearchText3": 8}]}

其中“SearchText1”是要在文档中搜索的文本,11 是重复次数。

我一直在尝试将此 Json 建模为 java 类来返回,以便可以将其序列化为 Json,但还没有成功!

 public class CountResultWrapper {

List<CountResult> counts = new ArrayList<CountResult>();

public List<CountResult> getCounts() {
return counts;
}

public void setCounts(List<CountResult> counts) {
this.counts = counts;
}

}

public class CountResult {

String searchText;
Integer count;


public CountResult(String searchText,Integer count)
{
this.searchText = searchText;
this.count = count;
}

public String getSearchText() {
return searchText;
}
public void setSearchText(String searchText) {
this.searchText = searchText;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}

}

但我明白了:

{"counts":[{"searchText":"searchText1","count":11},{"searchText":"searchText2","count":8},{"searchText":"searchText3","count":7}]}

有人可以帮我吗?

最佳答案

由于字段名称是动态的,因此无法使用模型类直接实现 - 因为您不能为每个搜索文本记录添加新字段。

但是,可以使用下面的方法来实现 - 对于大容量来说可能成本较高,但它会返回预期的输出

        List<HashMap<String, Integer>> counts = new ArrayList<>();
counts.add(new HashMap<String, Integer>() {{put("SearchText1",11);}});
counts.add(new HashMap<String, Integer>() {{put("SearchText2",11);}});

JSONObject output = new JSONObject();
output.put("counts",counts);
System.out.println(output.toString());

输出:

{
"counts": [{
"SearchText1": 11
}, {
"SearchText2": 16
}, {
"SearchText3": 8
}]
}

关于java - 来自 RESTful 的 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41710263/

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