我正在启动一个项目,该项目包括通过 Restful WS 层(可能是 json)进行 OpenBravo 集成这种集成在开始时很简单,因为它只包含一个将执行 GET、PUT、POST 和 DELETE 的 REST Web 服务客户端行动。
我的问题是关于如何管理 json 对象以及 OpenBravo 是否带来了一些方法来转换数据访问对象中的 json 对象,以便于处理。
我见过 OpenBravo DAL(数据访问层),有没有办法混合其余部分和 dal 来处理 OB 对象?
最好的祝福,
我正在启动一个项目,该项目包括通过 Restful WS 层(可能是 json)进行 OpenBravo 集成这种集成在开始时很简单,因为它只包含一个将执行 GET、PUT、POST 和 DELETE 的 REST Web 服务客户端行动。
我的问题是关于如何管理 json 对象以及 OpenBravo 是否带来了一些方法来转换数据访问对象中的 json 对象,以便于处理。
我见过 OpenBravo DAL(数据访问层),有没有办法混合其余部分和 dal 来处理 OB 对象?
最好的祝福,
Openbravo 有一个名为org.openbravo.service.json的模块
上面的模块利用了openbravo的JSON和DAL层。
当我们对产品进行get请求时,JSON模块使用DAL查询数据库并将OB对象转换为JSON对象。
当我们要创建一个新产品时,JSON 模块使用 DAL 来创建一个新的 OB 对象。
您可能需要关注 openbravo 方面的主要课程是,
2) JsonToDataConverter -- 将 json 数据转换为 Openbravo 业务对象。
3)DataToJsonConverter——负责将Openbravo业务对象转换为json表示。
重要链接:Openbravo JSON REST
这是一个可能对您有所帮助的示例...首先让我们看一下这段代码片段
public class SimpleRestClass extends BaseWebServiceServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
String Name = request.getParameter("Name");
String Email = request.getParameter("Email");
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("Name", Name);
map.put("Email", Email);
// map.put("Path", request.getPathInfo().toString());
list.add(map);
final String json = new DataToJsonConverter().convertToJsonObjects(list).toString();
// write to the response
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
final Writer w = response.getWriter();
w.write(json);
w.close();
}
}
在上面的代码中
最终字符串 json = new DataToJsonConverter().convertToJsonObjects(list).toString();
就是你要找的。convertToJsonObjects()方法的签名是
List<JSONObject> convertToJsonObjects(List<Map<String, Object>> data)
REST Json WS 需要注意的 openbravo 中的重要类是
import org.openbravo.service.json.DataToJsonConverter
这个类有更多与 Json 相关的方法。希望这会帮助你。
如果您有任何问题,请随时提出。