SpringMvc 服务端发布json数据+android客户端解析json数据

本文介绍如何在SpringMVC中发布JSON数据,包括必要的JAR包配置、控制器编写等步骤,并展示了基本的例子。同时,文章还提供了Android客户端解析JSON数据的方法,包括HTTP请求、JSON解析的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SpringMvc 服务端发布json数据

1、导入必须的JAR包

jackson-annotations-2.4.1.jar

jackson-core-2.4.1.jar

jackson-databind-2.4.1.jar

 

2、配置文件同一般的springmvcweb项目

 

3、控制器

采用@ResponseBody将返回转换成json

@Controller

publicclassJsonController {

   

    @RequestMapping("/test1")

    @ResponseBody

    publicboolean test1(){

        returntrue;

    }

   

    @RequestMapping("/test2")

    @ResponseBody

    public User test2(){

        Useruser1=newUser();

        user1.setUsername("kagami");

        user1.setPassword("1234567");

        return user1;

    }

   

    @RequestMapping("/test3")

    @ResponseBody

    public List<String> test3(){

        ArrayList<String>al1=newArrayList<>();

        al1.add("aaa");

        al1.add("bbb");

        al1.add("ccc");

        al1.add("ddd");

        return al1;

    }

   

    @RequestMapping("/test4")

    @ResponseBody

    public List<User>test4(){

        ArrayList<User>al_user=newArrayList<>();

        for(int i=0;i<10;i++){

            Useruser1=newUser();

            user1.setUsername("kagami"+i);

            user1.setPassword("1234567"+i);

            al_user.add(user1);

           

        }

        return al_user;

    }  

}

二、android客户端解析json数据

1.写一个工具类:

使用HttpClient的httpGet请求à得到返回的HttpEntityà用EntityUtils.toString()方法把HttpEntity转换成字符串à把字符串封装为jsonArray对象à再用jsonArray.getJSONObject(i)方法得到每一个json对象à最后用jsonObject.getString("键值对名")得到每一个键值。

public class HttpUtil {
	
	public static List<User> getJson(String ServerUrl) throws ClientProtocolException, IOException, JSONException{
		ArrayList<User> aluser=new ArrayList<User>();
		HttpClient httpClient=new DefaultHttpClient();
		HttpGet httpGet=new HttpGet(ServerUrl);
		HttpResponse response=httpClient.execute(httpGet);
		StatusLine sl=response.getStatusLine();
		
		if(sl.getStatusCode()==HttpStatus.SC_OK){
			HttpEntity httpEntity=response.getEntity();
			String jsonString=EntityUtils.toString(httpEntity);
			JSONArray jsonArray=new JSONArray(jsonString);
			for(int i=0;i<jsonArray.length();i++){
				JSONObject jsonObj=jsonArray.getJSONObject(i);
				User user=new User();
				user.setUsername(jsonObj.getString("username"));
				user.setPassword(jsonObj.getString("password"));
				aluser.add(user);
			}
			return aluser;
		}else{
			return null;
		}
		
	}

}

2.在UI线程里调用该方法,注意耗时操作必须放在工作线程里,如用AsyncTask封装。

此外,记得在AndroidManifest 里加网络访问权限。

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值