Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将Resultset数据绑定到Getter Setter方法以形成JSON字符串_Java_Android_Rest_Jersey - Fatal编程技术网

Java 将Resultset数据绑定到Getter Setter方法以形成JSON字符串

Java 将Resultset数据绑定到Getter Setter方法以形成JSON字符串,java,android,rest,jersey,Java,Android,Rest,Jersey,我正在尝试使用GSON形成一个JSON。 但是我的最终JSON格式返回null。我的结果集包含所有可用数据,但从resultset格式JSON时问题仍然存在 任何帮助,我的代码如下 我的DAO类——ServiceAccess package com.rest.bean; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Res

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

任何帮助,我的代码如下

我的DAO类——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;
        }



    }


}
我的模型类——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;

    }


}
package com.rest.bean;
导入java.util.ArrayList;
导入com.rest.database.DBConnection;
公共类服务数组
{
公共ArrayList GetServices()引发异常
{
ArrayList serviceData=null;
尝试
{
ServiceAccess访问对象=新建ServiceAccess();
serviceData=accessObjects.GetServices();
} 
捕获(例外e)
{
投掷e;
}
返回服务数据;
}
}
我的JsonObject转换器类

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;
    }



}
package com.rest.bean;
导入java.util.ArrayList;
导入com.google.gson.gson;
导入com.rest.bean.ServiceBean;
公共类数据转换器
{
公共静态字符串数据源(ArrayList feedData)
{
字符串feed=null;
Gson Gson=新的Gson();
feed=gson.toJson(feedData);
回馈;
}
}

以下是我对Gson的最佳使用,也许它会有所帮助

对于本例,Json回复是字符串web响应的形式:

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

注意:JsonClass是一个普通的类实现,包含与回复中的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);


        }
JSONArray数组=新的HttpManager().getjsonarrayfrompreply(reply);
对于(int i=0;i
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
        }

如果json回复是从url发出的,则应该会得到json回复

欢迎使用堆栈溢出。为了从这里提问中获得最佳结果,请花一点时间回顾并改进您的问题。您好,GreenAsJade,我的问题已全部结束,需要帮助。您好,Johan V,我还无法形成JSON字符串,因此我得到的web服务回复为NULL。好,你尝试过在浏览器中获取数据的链接,看看是否出现JSON回复,如果是的话,你是否考虑使用截击来进行网络请求?如果你需要截击方面的帮助,请告诉我,同时我在Android中发布了你默认的json http请求,请尝试我的新答案,以从Web服务获取json回复。一旦你有了字符串形式的json回复,你就可以继续使用gson作为我以前的答案Johan V,我将使用gson,因为我用string writer创建了一个jsonArray,我可以在我的android设备中读取json。但是由于数据是批量的,大约还有500条记录,服务将结束。我在某个地方读到gson可以处理批量数据。我没有尝试过截取。它可以处理批量数据吗?
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
        }