fastJson如何将json与对象、集合、数组相互转换呢?
转自:
http://www.java265.com/JavaJingYan/202205/16539043343571.html
下文笔者讲述fastjson在对象,集合,数组之间互相转换的方法分享,如下所示
fastjson简介
fastjson是阿里巴巴的开源JSON解析 它可以解析JSON格式的字符串 支持将Java Bean序列化为JSON字符串 也可以从JSON字符串反序列化到JavaBean
使用方法
Maven引入依赖
<!-- json --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> </dependency> 定义一个对象 User u =new User(); u.setId(8888); u.setUName("忘忧草"); u.setUPwd("1314521");
一、对象转JSON
String json = JSON.toJSONString(user); //序列化
二、对象转JsonObject
JSONObject jsonObject=(JSONObject)JSON.toJSON(user); jsonObject.getIntValue("id")+jsonObject.getString("uPwd")
三、JSON 字符串转换为 Java 对象
User user =JSON.parseObject(json,User.class); //反序列化
四、JsonObject转对象
User user=JSON.toJavaObject(jsonObject, User.class);
五、JSON转Map
{ "msg": "操作成功!", "code": "200", "data": [ { "id": "0683d34aa31e4323be6d21b6d2bbd19eE41891461", "status": 1, "netAddress": "36.7.108.200" }, { "id": "0683d34aa31e4323be6d21b6d2bbd19eE41891466", "status": 1, "netAddress": "39.7.109.208" } ], } Map<String,Object> maps = JSONObject.parseObject(json2,Map.class);
六、Map转JSON
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(maps));
七、JSON数组转List
[ { "id": "4545454562dew33wf3f433213322ssssssffrretyuu" "status": 1, "netAddress": "8.8.9.9" }, { "id": "34f323232323df4f132424kikikunukikiololscs", "status": 1, "netAddress": "114.114.114" } ] JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的 Json对象中添加的是键值对,JSONArray中添加的是Json对象 parseArry用于如果是用[]包裹的 parseObject用于如果是{}包裹的补充 List<Map> listMaps = JSONArray.parseArray(JSON.toJSONString(data),Map.class); List<Map> mapsList = JSONObject.parseArray(JSON.toJSONString(data), Map.class);
八、JsonObject转JsonString
String jsonString=JSON.toJSONString(jsonObject);
九、JsonString转JsonObject
JSONObject jsonObject=JSON.parseObject(jsonString); jsonObject.getString("uName");
十、JsonString转JsonArray
JSONArray jArray=JSON.parseArray(JSON.toJSONString(userList));