Android客户端与JAVA服务端JSON传值

分类:android 1905人阅读 评论(0) 收藏 举报 JSON android

假设你已经了解JSON数据是怎么一回事了。

1、服务端

服务器端使用json-lib 组装JSON数据的,在Servlet类或者相关容器类中,这里是在struts2中的action类中操作的,代码如下:

[java] view plain copy
  1. Listlist=userService.getAllObject();//这里是从数据库查询出相关数据,封装成对象,放入list中的
  2. JSONArrayja=JSONArray.fromObject(list);//组装成JSON数据
  3. System.out.println("ja-->"+ja.toString());
  4. /*打印出来的数据如下所示
  5. [
  6. {"createDate":"2012-05-2400:04:10.0","createMan":"system","inteUpdateDate":"",
  7. "integralId":-1,"isUpdateInteApp":0,"isUpdateRecApp":0,"lb":0,"needGames":15,
  8. "phoneIMEI":"1234556","phoneSystem":"","phoneType":"","recUpdateDate":"",
  9. "recomAppId":-1,"screenHeight":0,"screenWidth":0,"type":0,"userId":10100},
  10. {"createDate":"2012-05-2400:04:56.0","createMan":"system","inteUpdateDate":"",
  11. "integralId":-1,"isUpdateInteApp":0,"isUpdateRecApp":0,"lb":0,"needGames":15,
  12. "phoneIMEI":"1234557","phoneSystem":"","phoneType":"","recUpdateDate":"",
  13. "recomAppId":-1,"screenHeight":0,"screenWidth":0,"type":0,"userId":10101}
  14. ]
  15. */
  16. HttpServletResponseresponse=ServletActionContext.getResponse();
  17. PrintWriterout=response.getWriter();
  18. out.write(ja.toString());//返回字符串格式的JSON数据
  19. out.flush();
  20. out.close();

2、客户端

假设服务端提供的接口地址为:http://192.168.1.102:8088/AndroidService/service/getUsers.action

客户端访问服务端及解析服务端返回JSON数据主要代码如下:

[java] view plain copy
  1. privatevoidgetLocation(){
  2. StringBuilderbuilder=newStringBuilder();
  3. HttpClientclient=newDefaultHttpClient();
  4. HttpGetget=newHttpGet("http://192.168.1.102:8088/AndroidService/service/getUsers.action");
  5. try{
  6. HttpResponseresponse=client.execute(get);//这里使用的是Get方式访问服务端接口,当然也可以使用Post方式
  7. BufferedReaderreader=newBufferedReader(newInputStreamReader(
  8. response.getEntity().getContent()));
  9. for(Strings=reader.readLine();s!=null;s=reader.readLine()){
  10. builder.append(s);
  11. }
  12. JSONArrayarray=newJSONArray(newString(builder.toString()));
  13. for(inti=0;i<array.length();i++){
  14. JSONObjectitem=array.getJSONObject(i);
  15. StringuserId=item.getString("userId");
  16. StringphoneIMEI=item.getString("phoneIMEI");
  17. StringcreateMan=item.getString("createMan");
  18. StringcreateDate=item.getString("createDate");
  19. //这里txtInfo是一个TextView控件
  20. txtInfo.append("userId:"+userId+"phoneIMEI:"+phoneIMEI
  21. +"createMan:"+createMan+"createDate:"+createDate);
  22. }
  23. }catch(Exceptione){
  24. e.printStackTrace();
  25. }
  26. }

更多相关文章

  1. Android联系人数据库全解析(4)
  2. Android联系人数据库全解析(3)
  3. Android 数据序列化总结
  4. Android数据库操作查询中Cursor类的问题
  5. 关于Android中的数据存储
  6. 在SQLite数据库中获取新插入数据自增长的ID值(传智播客笔记)
  7. (转摘)Android腾讯微薄客户端开发八:微博查看(转播,对话,点评)
  8. Android数据库 之 SQLite数据库

随机推荐

  1. How to build Android(安卓)Windows SDK
  2. Android(安卓)沉浸式全屏(StatusBar,Navig
  3. Android(安卓)XUtils的cookie
  4. android 传感器
  5. android editText 输入字数限制
  6. Android获取基站坐标代码
  7. Android(安卓)ArrayAdapter的使用
  8. Android使用HttpURLConnection获取数据
  9. android 之用Hello World做项目结构分析
  10. android获取imei和imsi