我正在通过Restful WS Layer开始一个包含OpenBravo集成的项目(可能是json)这种集成在开始时很简单,因为它只包含一个将执行GET,PUT的休息Web服务客户端, POST和DELETE操作。
我的问题是如何管理json对象,以及OpenBravo是否带来了一些转换数据访问对象中json对象的方法,以便于处理。
我见过OpenBravo DAL(数据访问层),有没有办法混合其余的和dal来讨论OB对象?
最诚挚的问候,
答案 0 :(得分:2)
Openbravo有一个名为 org.openbravo.service.json的模块
上面的模块使用了openbravo的JSON和DAL层。
当我们对产品发出get请求时,JSON模块使用DAL查询数据库并将OB Object转换为JSON对象。
当我们想要创建新产品时,JSON模块使用DAL来创建新的OB对象。
您可能需要专注于openbravo方面的主要类是,
2)JsonToDataConverter - 将json数据转换为Openbravo业务对象。
3)DataToJsonConverter - 负责转换Openbravo业务对象 以json为代表。
重要链接:Openbravo JSON REST
答案 1 :(得分:1)
这是一个可以帮助你的例子...... 首先让我们看一下这段代码
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();
}
}
在上面的代码中
final String 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相关的方法。希望这会对你有所帮助。
如果您有任何疑问,请随时提出。