首页 > 解决方案 > 为 HttpEntity 创建空的 Json 主体

问题描述

所以我无法弄清楚这个看似简单的问题。我想创建 HttpEntity ,其中标头具有内容类型 application/json ,主体为空 Json 对象:

{}

没错,我可用的是 Jackson,但是无论我构建什么(尝试了 JsonNodeFactory.instance.nullNode() 和带有空对象的 ObjectNode),它似乎都无法创建正确的空 Json 对象。字符串 "{}" 或 null 也不起作用。有任何想法吗?

编辑:伙计们......我很抱歉浪费你的时间,结果我调用的 API 由于错误的原因返回了不正确的错误请求响应(400)。这个要求实际上是正确的。我会接受第一个正确答案

标签: javajackson

解决方案


一个简单的方法是使用ObjectMapper创建一个空的 JSONObjectNode然后序列化它:

ObjectMapper mapper = new ObjectMapper();
ObjectNode obj = mapper.createObjectNode();

String s = mapper.writeValueAsString(obj);  // yields "{}"

没有必要mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);


推荐阅读