将结果集数据绑定到 Getter Setter 方法以形成 JSON 字符串

Binding Resultset Data to Getter Setter Method to Form JSON String

我正在尝试使用 GSON 形成一个 JSON。 但是我最终 JSON 形成 returns null.My 结果集包含所有可用数据,但是从结果集形成 JSON 时问题仍然存在。

任何帮助,下面是我的代码。

我的 DAO CLASS--ServiceAccess

package com.rest.bean;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import org.codehaus.jackson.annotate.JsonProperty;

import com.rest.constants.Constants;


public class ServiceAccess 
{
    public ArrayList<ServiceBean> GetServices() throws Exception
    {

        ArrayList<ServiceBean> feedServices = new ArrayList<ServiceBean>();
        try
        {

            Connection con;
            Statement stmt=null;

             Class.forName(Constants.dbClass);
                 con = DriverManager.getConnection("jdbc:oracle:thin:@XX.XX.XX.XXX:152X:orcl10g","XXXX","XXXXX");
             stmt = (Statement) con.createStatement();
             String sqlQuery1="select SSCODE as SERVICECODE,SSDESC as SERVICEDESC from ksubservice order by SSCODE";
             System.out.println("printing sql query1 :"+sqlQuery1);
             ResultSet rst = stmt.executeQuery(sqlQuery1);

             while (rst.next()) 
             {


            ServiceBean ServiceObjects=new ServiceBean();
            ServiceObjects.setServiceCode(rst.getString("SERVICECODE").toString());   
            ServiceObjects.setServiceDesc(rst.getString("SERVICEDESC").toString()); 


        }
        System.out.println(feedServices);
        return feedServices;


        }
        catch(Exception e)
        {
            throw e;
        }



    }


}

我的BeanClass--ServiceBean

package com.rest.bean;

public class ServiceBean 
{

private String ServiceCode;
private String ServiceDesc;

public String getServiceCode()
{
    return ServiceCode;
}

public void setServiceCode(String ServiceCode)
{
    this.ServiceCode=ServiceCode;
}

public String getServiceDesc()
{
    return ServiceDesc; 
}

public void setServiceDesc(String ServiceDesc)
{
    this.ServiceDesc=ServiceDesc;
}

}

我的模型Class--ServiceArray

package com.rest.bean;



import java.util.ArrayList;

import com.rest.database.DBConnection;


public class ServiceArray 
{

    public ArrayList<ServiceBean> GetServices()throws Exception
    {
    ArrayList<ServiceBean> serviceData = null;
    try
    {
     ServiceAccess accessObjects=new ServiceAccess();
     serviceData=accessObjects.GetServices();

    } 
    catch (Exception e) 
    {
     throw e;
    }
    return serviceData;

    }


}

我的 JsonObject 转换器 Class

package com.rest.bean;

import java.util.ArrayList;
import com.google.gson.Gson;
import com.rest.bean.ServiceBean;

public class DataTransformer 
{

    public static String DataFeed(ArrayList<ServiceBean> feedData)
    {
    String feeds = null;
    Gson gson = new Gson();
    feeds = gson.toJson(feedData);
    return feeds;
    }



}

以下是我对 Gson 的最佳使用,也许它可以帮助..

对于此示例,Json 回复采用字符串网络回复的形式:

注意:回复是一个包含 json 数据的字符串

注意:Json类是一个正常的 class 实现,包含与回复中的 Json 元素相匹配的属性

JSONArray array = new HttpManager().getJsonArrayFromReply(reply);


for (int i = 0; i < array.length(); i++) {

            JSONObject jsonObject = null;
            try {
                jsonObject = (JSONObject) array.get(i);
            } catch (JSONException e) {
                return null;
            }

            Gson gson = new Gson();

            JsonClass jsonClass = gson.fromJson(jsonObject.toString(), JsonClass.class);


        }

Json Http 请求

String url = "http://www.myurl.com/data.php";

BufferedReader inStream = null; 
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpRequest = new HttpGet(url);

try {

       HttpResponse response = httpClient.execute(httpRequest);
       inStream = new BufferedReader(
       new InputStreamReader(
       response.getEntity().getContent()));

       StringBuffer buffer = new StringBuffer("");
       String line = "";

       while ((line = inStream.readLine()) != null) {
                buffer.append(line);
            }
            inStream.close();

            reply = buffer.toString();  
        } catch (Exception e) {
                //Handle Exception
        }

如果从 url

中更正后,应该会得到 json 回复