为复杂对象生成JSON消息

问题描述:

我开始了一个具有web/mobile,android,ios的客户端的企业应用程序。所以我决定使用Jersey来获得RESTFull资源并使用Spring IO注入服务。但我被困在主要2个地方。为复杂对象生成JSON消息

1. To Use DI with Spring. -- If I use jersey 2.7, it can able to produce 
    json. Here I can not use Spring DI. 
    2. Produce response for complex objects.-- If I use Jerse-Spring 1.8, 
     My Objects not converting as json. 
  1. 什么是产生像内具有收集和具有持久性等级/休眠注释复杂对象JSON消息的最佳方式。
  2. 什么是DI的最佳解决方案,是春季DI或EJB 3.0(我不是太了解EBJ 3.X的)

我的数据库设计已经结束,许多DAO的的测试,但要消耗我的服务我面临一个问题。我最近的帖子是:enter link description here

任何帮助真的很感激。

您可以使用带gson lib的HttpServlet来创建REST服务。请参见下面的简单的例子

package com.nl.services.ws.sincronizacao; import java.io.IOException; import java.io.PrintWriter; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; @WebServlet(value = "/TestGsonHttp") public class TestGsonHttp extends HttpServlet{ @EJB private yourEjbClass; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // Your Entity Client c = yourEjbClass.getClientById(1); Gson g = new Gson(); String jsonResult = g.toJson(c); PrintWriter writer = resp.getWriter(); writer.print(jsonResult);; writer.flush(); writer.close(); } }