Android客户端和Struts交互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<String,Object>()将数据封装好,创建List<Map<String,Object>> 

list=new ArrayList<Map<String,Object>>(),然后,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<NameValuePair> pair=new ArrayList<NameValuePair>()' 

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"); 







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值