gpt4 book ai didi

java - 从 @ResponseBody 创建 JsonObject 而不使用 gson 库

转载 作者:行者123 更新时间:2023-12-01 04:38:01 25 4
gpt4 key购买 nike

@ResponseBody 返回

[{"id":1010,"name":"projectname2"}] 类型 json 字符串

但是我需要一个以下的 json 字符串

[{"id":1010,"name":"projectname2","age":"21"}]

那么如何将年龄属性连接到默认生成的 json 字符串?

我使用 java spring-mvc 框架和 spring-json jar

@RequestMapping(value = "/projectsByEmployeeId/list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<Project> getProjectsByEmployeeId(
HttpServletRequest request) {
String filter = request.getParameter("filter");
FilterAttributes[] filterAttributes = null;
try {
filterAttributes = new ObjectMapper().readValue(filter,
FilterAttributes[].class);
} catch (Exception exception) {
logger.error("Filtering parameter JSON string passing failed",
exception);
}

if ((filterAttributes != null)
&& (!filterAttributes[0].getStringValue().isEmpty())) {
return utilityService.getProjectsByEmployeeId(44L);//this is an example id
} else {
return utilityService.getProjects();
}
}

最佳答案

实现此目的的另一种方法是纯字符串操作 -

String json = "[{\"id\":1010,\"name\":\"projectname2\"}]";
json = json.substring(0, json.length() - 2); //strip the }]

String newJSON = json.concat(",\"age\": 21}]"); // add in the new key and end

System.out.println(newJSON); // [{"id":1010,"name":"projectname2","age": 21}]

关于java - 从 @ResponseBody 创建 JsonObject 而不使用 gson 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045184/

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