fastJson将json与对象、集合、数组相互转换
时间:2023-01-13 07:30:00
fastjson简介
fastjson阿里巴巴的开源JSON解析
它可以解析JSON字符串的格式
支持将Java Bean序列化为JSON字符串
也可以从JSON字符串反序列化JavaBean
使用方法
Maven引入依赖
<dependency> <groupId>com.alibabagroupId> <artifactId>fastjsonartifactId> <version>1.2.83version> 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));