所以我无法弄清楚这个看似最简单的问题。我想创建HttpEntity,其中标头具有内容类型application / json,主体为空的Json对象:
{}
我所能提供的只是杰克逊(Jackson),但是无论我构建什么(尝试使用空对象的JsonNodeFactory.instance.nullNode()和ObjectNode),它似乎都无法创建适当的空Json对象。字符串“ {}”或null也不起作用。 有什么想法吗?
编辑:伙计们...很抱歉浪费您的时间,原来我正在调用的API由于错误的原因返回了错误的错误请求响应(400)。该请求实际上是正确的。我只接受第一个正确答案
答案 0 :(得分:3)
一种简单的方法是使用ObjectMapper
创建一个空白
JSON ObjectNode
,然后对其进行序列化:
ObjectMapper mapper = new ObjectMapper();
ObjectNode obj = mapper.createObjectNode();
String s = mapper.writeValueAsString(obj); // yields "{}"
不需要mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
答案 1 :(得分:1)
也许是这样的:
/**
* Produce an empty HttpEntity
*/
public HttpEntity<String> getJsonEntityEmpty() {
HttpEntity<String> entity = null;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
String requestJson;
requestJson = "{}";
entity = new HttpEntity<String>(requestJson,headers);
return entity;
}