JSONArray的使用
16lz
2022-03-05
Android客户端与JAVA服务端JSON传值
分类:android 2012-05-24 00:38 1905人阅读 评论(0) 收藏 举报 JSON android假设你已经了解JSON数据是怎么一回事了。
1、服务端
服务器端使用json-lib 组装JSON数据的,在Servlet类或者相关容器类中,这里是在struts2中的action类中操作的,代码如下:
[java] view plain copy
- Listlist=userService.getAllObject();//这里是从数据库查询出相关数据,封装成对象,放入list中的
- JSONArrayja=JSONArray.fromObject(list);//组装成JSON数据
- System.out.println("ja-->"+ja.toString());
- /*打印出来的数据如下所示
- [
- {"createDate":"2012-05-2400:04:10.0","createMan":"system","inteUpdateDate":"",
- "integralId":-1,"isUpdateInteApp":0,"isUpdateRecApp":0,"lb":0,"needGames":15,
- "phoneIMEI":"1234556","phoneSystem":"","phoneType":"","recUpdateDate":"",
- "recomAppId":-1,"screenHeight":0,"screenWidth":0,"type":0,"userId":10100},
- {"createDate":"2012-05-2400:04:56.0","createMan":"system","inteUpdateDate":"",
- "integralId":-1,"isUpdateInteApp":0,"isUpdateRecApp":0,"lb":0,"needGames":15,
- "phoneIMEI":"1234557","phoneSystem":"","phoneType":"","recUpdateDate":"",
- "recomAppId":-1,"screenHeight":0,"screenWidth":0,"type":0,"userId":10101}
- ]
- */
- HttpServletResponseresponse=ServletActionContext.getResponse();
- PrintWriterout=response.getWriter();
- out.write(ja.toString());//返回字符串格式的JSON数据
- out.flush();
- out.close();
2、客户端
假设服务端提供的接口地址为:http://192.168.1.102:8088/AndroidService/service/getUsers.action
客户端访问服务端及解析服务端返回JSON数据主要代码如下:
[java] view plain copy
- privatevoidgetLocation(){
- StringBuilderbuilder=newStringBuilder();
- HttpClientclient=newDefaultHttpClient();
- HttpGetget=newHttpGet("http://192.168.1.102:8088/AndroidService/service/getUsers.action");
- try{
- HttpResponseresponse=client.execute(get);//这里使用的是Get方式访问服务端接口,当然也可以使用Post方式
- BufferedReaderreader=newBufferedReader(newInputStreamReader(
- response.getEntity().getContent()));
- for(Strings=reader.readLine();s!=null;s=reader.readLine()){
- builder.append(s);
- }
- JSONArrayarray=newJSONArray(newString(builder.toString()));
- for(inti=0;i<array.length();i++){
- JSONObjectitem=array.getJSONObject(i);
- StringuserId=item.getString("userId");
- StringphoneIMEI=item.getString("phoneIMEI");
- StringcreateMan=item.getString("createMan");
- StringcreateDate=item.getString("createDate");
- //这里txtInfo是一个TextView控件
- txtInfo.append("userId:"+userId+"phoneIMEI:"+phoneIMEI
- +"createMan:"+createMan+"createDate:"+createDate);
- }
- }catch(Exceptione){
- e.printStackTrace();
- }
- }
更多相关文章
- 简单的三方登录SDK示例,Android(安卓)Activity之间数据的传递
- Android(安卓)数据序列化总结
- Android数据库操作查询中Cursor类的问题
- Android(安卓)客户端发送邮件(JMail方式)
- Android联系人数据库全解析(3)
- Android联系人数据库全解析(4)
- 使用NDK开发SQLite3
- Android开发之数据保存技术(一)
- mybatisplus的坑 insert标签insert into select无参数问题的解决