You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Play Framework Java:如何返回含多个Json节点的JsonObject?

在Play Framework Java项目中构建包含多个Json节点的JsonObject

你说得完全对,你代码里用的"kunde" -> kundeNode这种箭头语法是Scala的键值对写法,Java并不支持,这就是导致编译错误的原因。下面是Play Framework Java版的正确写法:

首先,你把实体转为JsonNode的部分是没问题的:

JsonNode kundeNode = Json.toJson(kunde);
JsonNode rechkopfNode = Json.toJson(rechkopf);

接下来构建包含多个节点的JsonObject,需要使用Play Java Json API提供的put方法来添加键值对,有两种写法可以选:

分步构建

// 创建空的JsonObject构建器
JsonObject resultJson = Json.newObject();
// 逐个添加键值对
resultJson.put("kunde", kundeNode);
resultJson.put("rechKopf", rechkopfNode);
// 返回响应
return ok(resultJson);

链式调用(更简洁)

如果喜欢更紧凑的写法,可以直接链式调用put方法:

return ok(Json.newObject()
        .put("kunde", kundeNode)
        .put("rechKopf", rechkopfNode));

本质上,Json.newObject()返回的是JsonObjectBuilder实例,每次调用put都会返回自身,所以可以一直链式添加新的键值对,最后它会自动转换为JsonObject供ok()方法使用。

内容的提问来源于stack exchange,提问作者Felix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:04:49