我有这个代码:
static String createRequestJson(String apiKey, String apiSecret) {
JsonNodeFactory factory = JsonNodeFactory.instance;
ObjectNode root = factory.objectNode();
root.set("auth", factory.objectNode()
.put("api_key", apiKey)
.put("api_secret", apiSecret));
root.put("wait", true);
return root.toString();
}
它可以工作,但代码看起来比必要的更复杂。特别是,我想摆脱root
多变的。
static String createRequestJson(String apiKey, String apiSecret) {
JsonNodeFactory factory = JsonNodeFactory.instance;
return factory.objectNode()
.set("auth", factory.objectNode()
.put("api_key", apiKey)
.put("api_secret", apiSecret))
.put("wait", true) // Compile error: JsonNode.put(String, boolean) undefined
.toString();
}
问题是set
方法不返回ObjectNode
但只有一个JsonNode
,这打破了方法链。
我是否忽略了一些明显的事情,或者是否不可能一次性创建这样的嵌套对象?