在我的项目中有两种类型的代码:
HttpEntity<String> entity = new HttpEntity<String>(comment, headers);这里comment是String类型,header是HttpHeader对象。
ObjectMapper om = new ObjectMapper(); HttpEntity<String> entity = new HttpEntity<String>(om.writeValueAsString(comment), headers);我只是想知道哪一个更好以及为什么。
writeValueAsString将其写入 JSON 格式的字符串。例如,如果我有一个坐标类,如下所示:
class Coordinate {
private int x;
private int y;
// plus constructor and methods
}
Run Code Online (Sandbox Code Playgroud)
然后om.writeValueAsString(new Coordinate(1, 2))会产生类似的东西
{ "x":1,"y":2 }
Run Code Online (Sandbox Code Playgroud)
而不是该toString 方法产生的任何结果。
因此,当您的客户端需要 JSON 格式的字符串时,请使用ObjectMapper.writeValueAsString.