0

我创建了一个返回一些 json 的小型 Web 服务,返回的 json 值如下所示:

[{"class":"simple.web.service.Stock","id":null,"name":"GOOG","price":123.45},   {"class":"simple.web.service.Stock","id":null,"name":"APPL","price":345.67}]

我的对象不包含id字段。那是从哪里来的?它应该如何填充?

另外,包括字段标准吗?如果我不想包含它怎么办?

4

1 回答 1

1

id属性默认在域对象上创建,就像version(除非您明确告诉它不包含version)。两者都是在正常使用下自动设置和维护的。如果需要,您可以控制如何创建/填充 id - 请参阅手册

出于安全原因,JSON 构造函数默认不返回实际的 id 或版本。要包含它们或不包含其他项目,您可能需要创建自定义 JSON 编组器。

Bootstrap 中的类似内容仅包含nameand price

import grails.converters.JSON
class BootStrap {
    def init = {servletContext ->
        JSON.registerObjectMarshaller(Stock) {
            def returnArray = [:]
            returnArray['name'] = it.name
            returnArray['price'] = it.price
            return returnArray
    }

}

于 2012-06-14T21:58:23.030 回答