开发者社区> 问答> 正文

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

前提:最近在做一个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();。

展开
收起
爱吃鱼的程序员 2020-06-22 17:08:09 565 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    求大神指导没有人么~代码格式化一下,这么乱,懒得看额。。。没想到粘贴过来的时候变成这样了,不过已经解决了。

    2020-06-22 17:08:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载