关于Java中Json的各种处理
作者:alex_fung 时间:2022-06-12 02:37:48
Java Json的各种处理
一、net.sf.json
1、Json转Map
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));
2、Json转实体
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
ArticleForm articleForm = (ArticleForm) JSONObject.toBean(jsonObject , ArticleForm.class);
如果实体中带有List字段,需要指定泛型
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("keywords", String.class);
ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
3、Json转集合
List<ArticleForm> list = new ArrayList<>();
JSONArray data = jsonObject.getJSONArray("data");
if (errorCode == 0 && data != null && !data.isEmpty()) {
?? ?for (int i = 0; i < data.size(); i++) {
?? ??? ?Map<String, Class> classMap = new HashMap<String, Class>();
?? ??? ?classMap.put("keywords", String.class);
?? ??? ?ArticleForm articleForm = (ArticleForm) JSONObject.toBean(data.getJSONObject(i), ArticleForm.class,classMap);
?? ??? ?list.add(articleForm);
?? ?}
}
另外一种:
List<ArticleForm> list = new ArrayList<>();
JSONArray data = jsonObject.getJSONArray("data");
if (errorCode == 0 && data != null && !data.isEmpty()) {
?? ?Map<String, Class> classMap = new HashMap<String, Class>();
?? ?classMap.put("keywords", String.class);
?? ?list ?= (List<ArticleForm>) JSONArray.toArray(data, ArticleForm.class,classMap);
}
二、com.alibaba.fastjson
1、Json转Map
JSONObject jsonObject = JSON.parseObject(jsonStr);
Map<String,Object> map = new HashMap<>();
map.put("code",jsonObject .getInt("code"));
2、Json转实体
ArticleForm articleForm = JSON.parseObject(jsonStr, new TypeReference<ArticleForm>() {});
3、Json转集合
List<ArticleForm> list = JSON.parseObject(jsonStr,new TypeReference<ArrayList<ArticleForm>>() {});
Java常用json处理
// String和json的互相转换
String str = "{\"status\":200,\"message\":\"\",\"data\":{\"KmList\":[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]}}";
System.out.println("str:"+str);
// JSONArray arrays = JSON.parseArray(str); // string转jsonArray
JSONObject jsonObject = JSON.parseObject(str); // string转jsonObject
System.out.println("jsonObject:"+jsonObject);
String s = jsonObject.toJSONString(); // json(object和Array相同)转string
// json转list<Object>或者object
String str1 = "[\"总分\",\"语文\",\"数学\",\"英语\",\"道德与法治\",\"科学基础\"]";
List<String> list = JSON.parseArray(str1, String.class); // json转list集合,将String.class改成其他对象.class即可
System.out.println("list:"+JSON.toJSONString(list));
String s1 = JSON.parseObject(JSON.toJSONString("语文"), String.class); // json转对象,将String.class改成其他对象.class即可
System.out.println("s1:"+s1);
// object转字符串后即可转jsonObject或者jsonArray
// json和map
Map<String, Object> map = new HashMap<>();
map.put("xAxis","11");
map.put("yAxis","2222");
String json = JSON.toJSONString(map);//map转String
System.out.println("json:"+json);
Map<String, Object> map1 = JSON.parseObject(json, Map.class); // 转List<Map> parserArray即可
System.out.println("map1:"+map1);
来源:https://blog.csdn.net/alex_fung/article/details/83150244
标签:Java,Json,处理
0
投稿
猜你喜欢
Android开发之全屏与非全屏的切换设置方法小结
2021-07-05 04:10:13
java 垃圾回收机制以及经典垃圾回收器详解
2022-07-06 05:16:08
详解Java 中的三种代理模式
2023-06-25 07:49:17
Java中Scanner类与BufferReader类的不同点(非常详细)
2023-07-07 01:21:18
C#中异步回调函数用法实例
2023-01-05 13:10:53
Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用
2021-12-04 00:04:43
Java设计模式之装饰模式详解
2022-09-27 05:55:32
C#数据导入到EXCEL的方法
2023-01-16 02:27:26
Spring ApplicationListener监听器用法详解
2022-08-21 00:00:08
如何让Spring Rest 接口中路径参数可选
2022-02-17 19:29:14
迅速掌握Java容器中常用的ArrayList类与Vector类用法
2022-12-16 16:18:47
深入C# 内存管理以及优化的方法详解
2021-10-24 14:24:03
C#单线程和多线程的端口扫描器应用比较详解
2023-08-07 21:01:45
Flutter 快速实现聊天会话列表效果示例详解
2022-10-21 09:18:31
Spring Boot与Spark、Cassandra系统集成开发示例
2021-06-03 13:40:51
通过JDK源码角度分析Long类详解
2022-03-11 19:26:38
IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)
2022-07-23 19:18:54
解析Java线程同步锁的选择方法
2023-02-08 11:02:32
android自动化测试知识点总结
2022-12-28 03:51:50
Java实现身份证号码验证源码示例分享
2022-12-24 03:58:50