首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails 2.4.4绑定JSON嵌套对象

Grails 2.4.4绑定JSON嵌套对象
EN

Stack Overflow用户
提问于 2015-07-10 04:04:19
回答 1查看 355关注 0票数 0

我有一个有三个班的模型,A班,父母班和孩子班。hasMany父级,而子级扩展父级。

我需要处理UI上的复杂逻辑来创建模型,并决定发布一个具有相同域模型结构的JSON对象。现在,在客户端的javascript对象中,我有一个A的实例,它有一些与Child相关的实例。

当我发布javascript对象,并将其序列化为JSON字符串时,控制器接收到它,然后我会: def a= new (request.JSON);

A实例是创建的,但是在hasMany关系中,它有父实例而不是子实例,因此我丢失了来自子实例的所有属性值。

我如何告诉Grails创建子实例而不是父实例?

更新

控制器接收到的request.JSON结构如下所示:

代码语言:javascript
复制
[
 name: name,
 group: none,
 where: [
    [
        codeOperand: in_list,
        archetypeId: openEHR-EHR-EVALUATION.problem_diagnosis.v1,
        codeValues: [
            aaa,
            bbb
        ],
        path: /data[at0001]/items[at0005]/value,
        class: Child1,
        terminologyIdValues: [
            cie
        ],
        rmTypeName: DV_CODED_TEXT,
        terminologyIdOperand: eq
    ],
    [
        magnitudeValues: [
            1,
            22
        ],
        archetypeId: openEHR-EHR-OBSERVATION.blood_pressure.v1,
        path: /data[at0001]/events[at0006]/data[at0003]/items[at0004]/value,
        unitsOperand: eq,
        class: Child2,
        magnitudeOperand: between,
        rmTypeName: DV_QUANTITY,
        unitsValues: [
            mmHg
        ]
    ]
 ]
]

在本例中,我有两个从父类继承的类Child1和Child2。

我在对象中添加了"class“属性,因为我读到它可能解决了问题,但它没有解决问题。

当我打印与A实例关联的对象时,我得到了正确的实例数,但是所有的类都是“父类”,如您所见,一些值被绑定,但都是父类的属性。

代码语言:javascript
复制
[
 (archetypeId: openEHR-EHR-EVALUATION.problem_diagnosis.v1,
  path: /data[at0001]/items[at0005]/value,
  rmTypeName: DV_CODED_TEXT,
  class: Parent),
 (archetypeId: openEHR-EHR-OBSERVATION.blood_pressure.v1,
  path: /data[at0001]/events[at0006]/data[at0003]/items[at0004]/value, 
  rmTypeName: DV_QUANTITY,
  class: Parent)
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-14 16:29:02

最后,我创建了遍历JSON对象并创建域实例的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31332242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档