sitebricks json默认序列机.为什么它返回文本/JSON而不是应用程序/JSON



嗯...我打算只问一个问题。但是我决定用一块石头杀死两只鸟

第一个问题:java pojos和json之间的默认序列化器/求职者将什么用作sitebricks?例如,假设这是我的pojo:

public class MyObject {
    private String key;
    private int value;
    public MyObject (String k, int v) {
        this.key = k;
        this.value = v;
    }
}

这是我的sitebricks servlet中一种方法的示例:

@Get
public Reply<?> listPools() {
    return Reply.with(new MyObject("Foo", 6)).as(Json.class);
}

我没有用任何 Jackson 注释MyObject注释,我也没有在代码中的任何地方使用 gson 。然而,令我惊讶的是,我在回应中回到了我的内容主体:

{"value":6,"key":"Foo"}

因此,我想知道的是默认情况下使用哪种技术或框架或网站上的哪种方法来序列化序列化JSON。杰克逊?gson?巫术和巫师?

现在第二个问题。我在标题中注意到响应 content-type text/json。这对我来说看起来很奇怪,因为在我过去的经验中,我一直将application/json作为JSON的内容类型。这个Stackoverflow帖子证实了我的信念。关于这一点的任何评论?

预先感谢!

,并且仍然可以在旅途中更改它

 return Reply.with(...).as(Json.class).type("application/json; charset=utf-8");

SiteBricks使用Jackson,默认情况下将不使用明智的默认值进行任何配置转换对象。如果要覆盖行为,请使用标准Jackson Presscorped Config绑定对象拍摄器。

您可能应该在大多数情况下设置应用程序/JSON,正确。SB应该设置这个,您是对的,我会在中继中进行更改。

最新更新