赞
踩
前后台交互一般使用json进行传值,前台传的json需要在后台转换成需要的对象。
如果手动转换就显得太不优雅,并且还麻烦,所以就要用到json转对象
json转对象:
当前台传过来的值是一个Map时,我们首先需要把Map转成json字符串,然后在把json字符串转换成对象
1.map转json字符串
String jsonStr = JSON.toJSONString(myMap);
2.json字符串转对象
MyObject myObject = JSON.parseObject(jsonStr , MyObject .class);
可以把两个步骤写在一起:
MyObject myObject = JSON.parseObject(JSON.toJSONString(myMap), MyObject .class);
3.
JSONObject jsonObject = new JSONObject();
UserVO vo = (UserVO) net.sf.json.JSONObject.toBean(jsonObject.toString(), UserVO.class);
json转List:
1.list转json字符串
String jsonStr = JSONArray.fromObject(myList).toString();
2.json字符串转List
List<MyObjcet> myObjectList = JSON.parseArray(jsonStr , MyObjcet.class);
同样如果合并步骤:
List<MyObjcet> orderVOList = JSON.parseArray(JSONArray.fromObject(myObjectList ).toString(), MyObjcet.class);
String转JsonObject:
1.使用alibaba的com.alibaba.fastjson.JSONObject进行转换
JSONObject jsonParam = JSONObject.parseObject(param);
2.使用org.json.JSONObject进行转换
JSONObject jsonObject = new JSONObject(param);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。