android servlet服务器 json 交互问题 求帮助~~~~~~~

xcy123 发布于 2013/08/29 20:36
阅读 620
收藏 1
前提:最近在做一个android小软件,想先自己写个简单的服务器进行测试,然后就出现下面的问题。
服务器部分代码(经测试在网页上可以显示封装后的数据)
try
{
ArrayList<Map<String,String>> list=new ArrayList<Map<String,String>>();
String sql="select name from Conn_List where department='"+part+"'";
conn=Sqlcon.getConnection();
stmt=conn.prepareStatement(sql);
rs=stmt.executeQuery();
while(rs.next())
{
Map<String,String> map=new HashMap<String,String>();
map.put("name", rs.getString("name"));
list.add(map);
}
JSONStringer stringer=new JSONStringer();
stringer.array();
for(Map<String,String> map:list)
{
stringer.object().key("name").value(map.get("name")).endObject();
}
stringer.endArray();
response.getOutputStream().write(stringer.toString().getBytes("UTF-8"));  
response.setContentType("text/json; charset=UTF-8"); 
}
android客户端部分代码(解析过程,最终返回一个list,将list放入我自己写好的自定义继承adapter)
private ArrayList<Map<String,String>> GetJson() throws Exception
{
ArrayList<Map<String,String>> list=new ArrayList<Map<String,String>>();
URL url=new URL("http://192.168.1.109:8080/ServletServer/ListServlet");
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
if(conn.getResponseCode()==200)
{
InputStream in=conn.getInputStream();//获取数据
list=parseJSON(in);//解析数据
}
return list;
}
private ArrayList<Map<String,String>> parseJSON(InputStream in) throws Exception
{
ArrayList<Map<String,String>> list=new ArrayList<Map<String,String>>();
Map<String,String> map=null;
String strResult=read(in);//转换为字符串数据
JSONArray array=new JSONArray(strResult);******************************报错处
for(int i=0;i<array.length();i++)
{
JSONObject object=array.getJSONObject(i);
map=new HashMap<String,String>();
map.put("name", object.getString("name"));
list.add(map);
}
return list;
}
private String read(InputStream in) throws Exception 

ByteArrayOutputStream bout=new ByteArrayOutputStream();
byte[] buf=new byte[4096];
int len=-1;
while((len=in.read(buf,0,4096))!=-1)
{
bout.write(buf,0,len);
}
buf=null;
return new String(bout.toByteArray(),"UTF-8");
}
报错部分先是一段黄色报错,内容是End of input at character 0 of,位置就是上面提到的报错处。
接下去是一段红色报错,内容是在我的自定义继承adapter里面的getCount()有空指针,而getCount()里面的内容是return list.size();。
加载中
0
xcy123
xcy123
求大神指导~~
0
xcy123
xcy123
没有人么~~~
0
fneg
fneg
代码格式化一下,这么乱,懒得看
xcy123
xcy123
额。。。没想到粘贴过来的时候变成这样了,不过已经解决了。
返回顶部
顶部