我可以保存对象内liferay实体?



我已经通过service.xml创建了liferay实体。我可以保存Json对象在字符串列和返回这个值像对象从api?现在是json的响应是这样的:

{
"name": "test",
"time": 1656067273906,
"longitude": 00.00000,
"latitude": 00.00000,
"Json": "{"name":"test", "depth":"0", "main":"true", "power":"0"}",
"description": "test",
}

但我希望获得"json"值不加引号,像这样:

{
"name": "test",
"time": 1656067273906,
"longitude": 00.00000,
"latitude": 00.00000,
"Json": {"name":"test", "depth":"0", "main":"true", "power":"0"},
"description": "test",
}

如果您在service.xml中编写的实体将remote-service属性设置为true,例如

<entity name="Employee" local-service="true" remote-service="true" uuid="true" trash-enabled="true">

和一个名为info的文本字段(例如),您可以在其中存储JSON字符串,然后您可以在<your service module src>/service/impl/EmployeeServiceImpl.java中编写一个方法,该方法返回包含来自服务实体的数据的JSONObject。例如,你可以添加一个方法到EmployeeServiceImpl

public JSONObject myCustomMethod(long entityId) throws Exception {
Employee employee EmployeeLocalServiceUtil.getEmployee(entityId);
JSONObject result = JSONFactoryUtil.createJSONObject();
result.put("name", employee.getName());
result.put("Json", JSONFactoryUtil.createJSONObject(employee.getInfo()));
return result;
}

之后,运行buildService任务,然后运行builddeploy。您将发现myCustomMethod为JSONWS Api。

相关内容

  • 没有找到相关文章

最新更新