【发布时间】:2014-06-17 21:53:49
【问题描述】:
我有一个处理具有嵌套对象的 JSON 数据的 jqGrid。我正在使用 jsonmap 来设置 colmodel 并且它工作正常;但是当我尝试编辑一行时,传递给服务器的 JSON 仅包含 jsonmap 属性而不是整个对象,因此无法将 JSON 映射到 Java 对象。
JSON 看起来像这样:
{'id': 1,
'name': 'blah',
'importantData':
{'importantDataId': 145,
'importantDataName': 'bleh'}
}
jqGrid colmodel 如下所示:
{name:'id', label:'ID', editable: false},
{name:'name', label:'Name', editable: true},
{name:'importantData_name', label:'Important Data', jsonmap: 'importantData.importantDataName', editable: false}
看到重要数据不可编辑,但必须显示在网格和表单中。
正如我所写,这很好用,我将“bleh”视为“重要数据”列中的值。 当我单击导航栏网格的编辑按钮时,我看到了用当前值编辑数据的表单。 ID 未显示(因为它不可编辑),importantData 显示为“bleh”。我在表单中更改名称并保存,发送到服务器的JSON如下所示:
{'id': 1,
'name': 'newName',
'importantData_name', 'bleh'}
服务器无法解析此 JSON,因为它希望接收整个对象 importantData 或至少它的 ID。
我已经配置了一个 serializeEditData 函数来从网格中检索整个对象并将整个对象或 de ID 添加到 JSON 中,但是我无法获取整个 importantData 对象。有什么想法吗?
提前致谢!
【问题讨论】: