将域转换为 JSON 时缺少版本属性

Posted

技术标签:

【中文标题】将域转换为 JSON 时缺少版本属性【英文标题】:Version property missing when converting Domain to JSON 【发布时间】:2021-03-10 15:51:00 【问题描述】:

在 GORM-standalone 中,我有一个简单的域类,例如:

@JsonIgnore( [ 'owner' ] )
class Person implements MongoEntity<Person>
  String id
  String name
  String owner

  Long version // attempt to hack

当 Person 实例转换为 JSON 时,version 不会输出到结果 JSON 字符串。

有什么方法可以自动完成?

附: 即使明确添加 version 属性也不会将其添加到生成的 JSON...

【问题讨论】:

【参考方案1】:

您可以在grails-app/conf/Config.groovy中设置配置属性

grails.converters.domain.include.version = true

grails-app/conf/application.yml

grails:
  converters:
    domain:
      include:
        version: true

【讨论】:

我没有使用 Grails,只有 GORM-SA

以上是关于将域转换为 JSON 时缺少版本属性的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 转换为缺少字段名的 CSV

将 XML 转换为 JSON 到 XML 时保留 json:Array 属性

如何将自定义属性转换为 Json 字符串

在转换为 XML 之前更改 JSON 对象中的属性名称

在 jhipster 项目中将实体属性骆驼案例转换为 json 中的蛇案例

如何在将jsonObject转换为模型对象时检测缺失的字段