如何修改 HttpEntity 的内容

How do I modify the content of an HttpEntity

我有一个 HttpResponse 和一个 HttpEntity(全部来自 org.apache.http)。

我的 HttpEntity 有一些 application/json 的内容,我想在转发之前修改一下。

我可以用

读取字符串形式的内容
EntityUtils.toString(response.getEntity());

但是我如何将修改后的实体内容存储回我的响应中?

使用toString方法用于'print'一个对象。大多数时候,您将使用 toString 方法进行日志记录。您应该通过 getter 访问您想要读取或修改的变量。例如:

reponse.getEntity().getContentEncoding().getName();
reponse.getEntity().getContentEncoding().getValue()

使用 EntityBuilder.

解决
response.setEntity(EntityBuilder.create().setText(newText).setContentType(ContentType.APPLICATION_JSON).build());