如何通过FlexJson序列化模型中的瞬态字段?
我正在使用Play框架公开RESTAPI,它返回一些JSON对象。 为了简化API的使用,我想在响应中返回一个“计算”字段 不幸的是,在我的测试中,虽然FlexJson没有完全忽略瞬态模型字段,但总是将它们设置为“null” 更多详情: 在模型类中,我定义:如何通过FlexJson序列化模型中的瞬态字段?,json,serialization,playframework,flexjson,Json,Serialization,Playframework,Flexjson,我正在使用Play框架公开RESTAPI,它返回一些JSON对象。 为了简化API的使用,我想在响应中返回一个“计算”字段 不幸的是,在我的测试中,虽然FlexJson没有完全忽略瞬态模型字段,但总是将它们设置为“null” 更多详情: 在模型类中,我定义: @Transient public String currencyName; 类的唯一构造函数将值设置为“美元”(用于调试): 使用FlexJson序列化类时,如果在include/exclude中未指定“currencyName”字段,
@Transient
public String currencyName;
类的唯一构造函数将值设置为“美元”(用于调试):
使用FlexJson序列化类时,如果在include/exclude中未指定“currencyName”字段,则结果通常如下所示:
"currencyName":null
知道哪里出错了吗?知道如何将字段值序列化为JSON吗
提前感谢。根据定义,如果您的字段是临时字段,则不会序列化。如果状态很重要,那么这个字段在应用程序中可能不应该是暂时的 谢谢。我使用序列化是为了生成“干净”的JSON,而不是在应用程序之间传输对象“状态”。我的想法是,使用计算字段直接指定JSON格式,而不是配置从“this.currency”到“print out”到JSON的字段。有什么想法吗?如果你对保持这个字段或保持状态不感兴趣,为什么不把这个字段全部删除呢。您可以使用一个计算并返回此值的方法,即字符串getCurrencyName(),或者使用序列化程序中的exclude方法:new JSONSerializer().exclude(“currencyName”).serialize(“Currency”,Currency);非常感谢,“emt14”。我实现了字符串getCurrencyName()-完全按照您描述的方式工作。
"currencyName":null