json转java对象

来源:互联网 发布:网络拒绝接入怎么解决 编辑:程序博客网 时间:2024/06/04 20:15

本文前端采用了jquery, 后台servlet,处理json时,采用的json-lib包,本文中只贴出部分代码。有关json-lib的相关jar包请找度娘。

以下是前端代码

var data = [        {name: "张三", score: "88"},        {name: "李四", score: "78"},        {name: "王五", score: "68"}    ];    data = JSON.stringify(data);    $.ajax({        type : "POST",        url : ctx+"/schedule/jsonToList/",        data : data,        dataType : "JSON",        contentType:"application/json",        success : function(result) {            console.log(result);        }    });

后台处理,用的是paoding-rose,用request接受到流之后,用apache的common io 包中的IOUtils进行流转换成string,然后用jsonToList方法把json字符串转换成java对象

@Post("jsonToList")public String jsonToList(final Invocation inv) throws IOException {String jsontest = IOUtils.toString(inv.getRequest().getInputStream());String json = new String(jsontest.getBytes("gbk"),"UTF-8");List<HashMap> list = (List<HashMap>)JSONUtils.jsonToList(json, HashMap.class);return "@"+JSONUtils.ListToJson(list);}

下面是JSONUtils.jsonToList方法

public static <T> T jsonToList(String json,Class<T> beanCalss){    net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(json);    T bean = (T) net.sf.json.JSONArray.toList(jsonArray, beanCalss);    return bean;    }



0 0
原创粉丝点击