前端json数据与java相互转换,json转java对象jar下载

有时候网站前端传递一组对象给后台处理

如下格式json数据

[{"a":a,"b":b,"c":c},{"a2":a2,"b2":b2,"c2":c2},{"a1":a1,"b1":b1,"c1":c1}]

每一个对象表示一个对象,此对象用于更新数据库等。

处理json数据,我们需要下载三个jar包,本文下面会提供下载连接

json-lib-2.4-jdk15.jar

ezmorph-1.0.6.jar

commons-beanutils-1.9.2.jar

由于我使用的是ssh框架,所以我就想到了struts2的类型转换

因此我这里就直接在这个类里进行代码编写

action里的代码如下

public class uphbinfo extends ActionSupport{
	private addredbao[] jbs;
神略get和set方法等
很明显,上面的代码是接收不到前台传递过来的数据的,因此我们就要用到类型转换


以代码是类型转换代码

public class StringRedbaoArrays extends StrutsTypeConverter{

	@Override
	public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
		//获得前端传递过来的字符串
		String getString = arg1[0];
		//获得一个JSONArray数组
		JSONArray array = JSONArray.fromObject(getString);
			
		//定义长度
		int strLenght = array.size();
		//定义我们的Object
		addredbao[] ard = new addredbao[strLenght];
		
		//for循环,将每一个对象集合封装在一个m中
		for(int i =0;i<strLenght;i++){
			//初始化实体类
			ard[i] = new addredbao();
			//先将srray转换为JSONObject
			JSONObject jsonObject = array.getJSONObject(i);
			ard[i].setRedid(jsonObject.getInt("HBID"));
			ard[i].setRedmoney(jsonObject.getDouble("HBmoney"));
		}
		System.out.println("zhelibiao五");
		return ard;
	}

	@Override
	public String convertToString(Map arg0, Object arg1) {
//数据重组,返回的字符串给前端使用
		addredbao[] ard = (addredbao[]) arg1;
		int lenght = ard.length;
		String strdata="[";
		for(int i=0;i<lenght;i++){
			strdata = strdata+"{HBID:"+ard[i].getRedid()+",HBmoney:"+ard[i].getRedmoney()+"},";
		}
		strdata = strdata.substring(0, strdata.length()-1)+"]";
		return "strdata";
	}

}
以上代码截取我项目的部分代码,大家可以参考下,通过以下代码就实现了json与java对象的相互转换


json转java对象相关jar下载 密码: ddyf


爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img