我有一些json我试图返回作为BasicHttpResponse的一部分。 代码snippit在下面,我注释了打印结果。StringEntity没有字符串打印或套接字写内容
我可以打印出A中的json,它在1中看起来不错。但是当我在B处打印实体时,我没有在2中得到任何物体,尽管它具有长度。如果我进入调试器,我会看到那里的数据。
如果我更改内容类型并打印实体,我可以看到此更改反映在3中,但又没有实际的String数据。
我想通过管道推送这个数据,而不是写一个json正文是一个问题。
我的期望是,当我将数据添加到实体,然后使用HttpMessageWriter打印或写入实体时,JSON将显示/传输。我错过了什么?期望将json打印在toString上是不合理的吗?
BasicHttpResponse resp;
StringEntity entity = new StringEntity(json.toString(), "UTF-8");
A) logger.info("to str: " + json.toString());
B) logger.info("Entity: " + entity);
entity.setContentType("application/json; charset=UTF-8");
resp.setEntity(entity);
C) logger.info("set entity " + resp.getEntity());
1) to str: [{"id":"12","revision":"12","group":"12",
"remote":"12"}]
2) Entity: [Content-Type: text/plain;
charset=UTF-8,Content-Length: 81,Chunked: false]
3) set entity [Content-Type: application/json;
charset=UTF-8,Content-Length: 81,Chunked: false]
谢谢。总有一个问题需要解决。我认为这是简单的版本,但数据不是通过套接字发送的。我会尽力追踪并更新问题或提出新问题。 –
是的,这很可能是一个完全不同的问题:)祝你好运:) –