gpt4 book ai didi

java - 使用 Jackson 在有或没有编码(marshal)处理的情况下构建自定义 JSON?

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

正在构建这样的 JSON 字符串:

public String buildAutoCompleteQuery(int from, int pageSize, String criteria) {
StringBuilder autoComplete = new StringBuilder();
autoComplete.append("{").append("\"from\"").append(":").append(from).append(",").append("\"size\"").append(":").append(pageSize).append(",").append("\"query\"").append(":").append("{").append("\"match\"").append(":").append("{")
.append("\"full_text\"").append(":").append("\"").append(criteria).append("\"").append("}").append("}}");
return autoComplete.toString();
}

输入示例参数后,当您打印它(使用 pretty-print )时,它看起来像这样:

{
"from": 1,
"size": 15,
"query": {
"match": {
"full_text": "Hello"
}
}
}

是否有更简单的方法来使用 Jackson 创建此 JSON 对象(带或不带编码/数据绑定(bind))?

最佳答案

您应该尝试的一种方法是为该对象创建一个类,然后使用 Jackson 将对象转换为字符串。

{
"from": 1,
"size": 15,
"query": {
"match": {
"full_text": "Hello"
}
}
}

现在为此创建类

public class AutoComplete{
private Integer from;
private Integer size;
private Query query;
// getters and setters
}

public class Query{
private Match match;
}

public class Match{
private String full_text;
}

然后使用 Jackson 转换自动完成对象,您将得到所需的 JSON 字符串。

关于java - 使用 Jackson 在有或没有编码(marshal)处理的情况下构建自定义 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372898/

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