设为首页 加入收藏

TOP

Struts2服务器和Android客户端使用JSON进行数据的传递
2014-11-24 12:35:33 来源: 作者: 【 】 浏览:0
Tags:Struts2 服务器 Android 客户端 使用 JSON 进行 数据 传递

服务器端接收客户端发来的json对象,解析该json对象的数据后,再给客户端反送一个封装了新的数据的json对象


Public class Action extends ActionSupport implements ServletRequestAware,ServletResponseAware{


private String Json;


private int age;


private String name;


private String password;


private HttpServletRequest request;


private HttpServletResponse response;




public void execute()


{


try{


JSONObject obj=new JSONObject(this.getJson())


this.setAge(obj.getInt("age"));


this.setName(obj.getString("name"));


this.setPassword(obj.getString("password"));




}catch(org.json.JSONException e)


{


e.printStack();


}


JSONObject object=new JSONObject();


object.put("age",22);


object.put("name",nikerlover);


object.put("password",12345);


JSONObject tem=new JSONObject();//若需要传递数组,夹杂其他的杂项,可以用Map map=new HashMap()将数据封装好,创建List>


list=new ArrayList>(),然后,list.add(map);再用JSONObject进行封装,JSONObject和JSONArray可以相互嵌套,你懂的


JSONObject temp=new JSONObject();


try{


tem.put("user",object);


temp.put("json",tem);


response.setCharacterEncoding("UTF-8");


response.getWriter().write(temp.toString());


}catch(Exception e)


{


e.printStackTrace();


}


}


// Getter and Setter method


//public void setServletResponse(HttpServletResponse)


.


.




}




Android客户端:先给服务器发送一个封装好了的JSON对象,再等待服务器反送response对象,将response里的JSON对象获取并解析


pubic void OnCreate(Handler instance)


{


String Url="http://59.64.34.45/project/index.action";


HttpClient client=new DefaultHttpClient();


HttpPost post=new HttpPost(url);


List pair=new ArrayList()'


try{


JSONObject obj=new JSONObject();


obj.put("age",2);


obj.put("name",nikerlover);


obj.put("password",45667);


JSONObject json=new JSONObject();


pair.add(new BasicValueNamePair("json",obj.toString()));


post.setEntity(new UrlEncodedFormEntity(pair,HTTP.UTF_8));


HttpResponse response=client.execute(post);


if(response.getStatusLine().getStatusCode()==200)


{


String responseStr=EntityUtils.toString(response.getEntity());


JSONObject json=new JSONObject(responseStr).getJSONObject("json");


JSONObject object=json.getJSONObject("user");



int Age=obj.getInt("age");


String Name=obj.getString("name");


String Password=obj.getString("password");


}


}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Animations之LayoutAnima.. 下一篇Android TimePicker 不能响应直接..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)