0
点赞
收藏
分享

微信扫一扫

fastJson如何将json与对象、集合、数组相互转换呢?

五殳师兄 2022-09-11 阅读 179

转自:

​​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));

举报

相关推荐

0 条评论