JAVA中json转Map,jsonArray转List集合,List集合转json

JAVA中json转Map,jsonArray转List集合,List集合转json在写代码时,经常会遇到各转类型之间互相转换,比如json转换为Map,jsonArray转List集合,List集合转json,现在整理一个工具类,方便日后查阅。importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.apac

大家好,又见面了,我是你们的朋友全栈君。

在写代码时,经常会遇到各转类型之间互相转换,比如json转换为Map,jsonArray转List集合,List集合转json,现在整理一个工具类,方便日后查阅。

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


import org.apache.commons.lang.StringUtils;
import org.zgr.pack.entity.test.TestJsonToList;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;


public class Util {
	    //json字符串转换为MAP
		public static Map jsonStrToMap(String s) {
			Map map = new HashMap();
			//注意这里JSONObject引入的是net.sf.json
			net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(s);
			Iterator keys = json.keys();
			while (keys.hasNext()) {
				String key = (String) keys.next();
				String value = json.get(key).toString();
				if (value.startsWith("{") && value.endsWith("}")) {
					map.put(key, jsonStrToMap(value));
				} else {
					map.put(key, value);
				}

			}
			return map;
		}
		
		// 将jsonArray字符串转换成List集合
		public static List jsonToList(String json, Class beanClass) {
			if (!StringUtils.isBlank(json)) {
				//这里的JSONObject引入的是 com.alibaba.fastjson.JSONObject;
				return JSONObject.parseArray(json, beanClass);
			} else {
				return null;
			}
		}
		
		//List集合转换为json
		public static JSON listToJson(List list) {
			JSON json=(JSON) JSON.toJSON(list);
			return json;
		}
		
		
		public static void main(String[] args) {
			
			System.out.println("---------------------json字符串转换为MAP---------------------");
			JSONObject jsonObject=new JSONObject();
			jsonObject.put("abc", 123);
			jsonObject.put("def", 456);
			System.out.println("A==========json====="+jsonObject);
			Map map=Util.jsonStrToMap(jsonObject.toString());
			System.out.println("B==========def======"+map.get("def"));
			
			
			System.out.println("---------------------将jsonArray字符串转换成List集合---------------------");
			String str="[{\"year\":\"2015\",\"month\":10,\"count\":47},{\"year\":2017,\"month\":12,\"count\":4}]";
			//这里需要指定泛型,我们建立一个实体类TestJsonToList
			List<TestJsonToList> list=Util.jsonToList(str, TestJsonToList.class);
			System.out.println("C==========取list第二个元素的year====="+list.get(1).getYear());
			
			
			System.out.println("---------------------将list集合转换成json---------------------");
			//这里的JSONObject引入的是 com.alibaba.fastjson.JSONObject;
			JSON json=Util.listToJson(list);
			System.out.println("D==========json====="+json);
		}
}

实体类

public class TestJsonToList {
	private String year;      //年
    private String month;     //月
    private String count;     //数据
	public String getMonth() {
		return month;
	}
	public void setMonth(String month) {
		this.month = month;
	}
	public String getYear() {
		return year;
	}
	public void setYear(String year) {
		this.year = year;
	}
	public String getCount() {
		return count;
	}
	public void setCount(String count) {
		this.count = count;
	}
	
    //构造方法
    public TestJsonToList(String year, String month, String count) {  
        this.year = year;  
        this.month = month;  
        this.count = count;  
    }  
    //默认构造方法
    public TestJsonToList() {  
      
    }  
}


控制吧输出结果:


JAVA中json转Map,jsonArray转List集合,List集合转json

json转List集合,和List集合转json时需要注意,使用的是阿里的fastJson.jar包,不要引错了,Maven项目对应引入:

             

 <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.8</version>
</dependency>

需要jar包,可去这里下载:

http://download.csdn.net/download/weixin_33446857/10225429

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152270.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月23日 下午4:46
下一篇 2022年6月23日 下午4:46


相关推荐

  • Sigar介绍和配置

    Sigar介绍和配置版权声明 本文为博主原创文章 遵循 CC4 0by sa 版权协议 转载请附上原文出处链接和本声明

    2026年3月17日
    2
  • 异步fifo的工作原理(netty异步方法)

    FPGA(一):异步FIFO实现(包含源码和仿真文件)一、异步FIFO的重要参数及其作用1、FIFO:FirstInputFirstOutput,即先入先出队列,本质是RAM。FIFO有几个最重要的参数:2、wr_clk:写时钟,所有与写有关的操作都是基于写时钟;3、rd_clk:读时钟,所有与读有关的操作都是基于读时钟;4、FIFO_WIDTH:FIFO的位宽,即FIFO中每个地址对应的数据的位宽;5、FIFO_DEPTH:FIFO的深度,即FIFO中能存入多少个(位宽为FIFO_

    2022年4月13日
    130
  • 中文OCR的汉字按常见度的划分

    中文OCR的汉字按常见度的划分在 OCR 中 会需要自己制作中文字符的图像样本 因此需要了解各种常见度汉字的划分 常见的 3500 个汉字 阿啊哎哀唉埃挨癌矮艾爱碍安氨俺岸按案暗昂凹熬傲奥澳八巴叭吧拔把坝爸罢霸白百柏摆败拜班般颁斑搬板版办半伴扮瓣邦帮膀傍棒包胞宝饱保堡报抱豹暴爆卑杯悲碑北贝备背倍被辈奔本崩逼鼻比彼笔币必毕闭辟碧蔽壁避臂边编蝙鞭扁便变遍辨辩标表别宾滨冰兵丙柄饼并病拨波玻剥播脖伯驳泊勃博搏膊薄卜补捕不布步部擦猜才材财裁采彩踩菜蔡参餐残蚕惨灿仓苍舱藏操曹槽草册侧测策层叉插查茶察差拆柴缠产阐颤昌长肠尝偿常厂场畅倡唱抄超巢朝潮吵炒车

    2026年3月17日
    3
  • 免费ASP空间

    免费ASP空间free免费asp空间的申请方法;free免费asp空间的ftp使用方法;sise.host3v.vip/1

    2022年7月2日
    22
  • 哪些软件是python编写出来的_用Python编程需要什么软件?

    哪些软件是python编写出来的_用Python编程需要什么软件?用Python编程需要什么软件?Python编程是一门适合新手入门的编程语言,现在有不少程序员业余时间学习Python编程语言,学习Python找到好工具会大大提高学习的效率。好用的Python编程软件能将工作效率多倍速提升。今天小编就介绍一些Python编程软件供大家参考:一、终端:UptermUpterm简单好用,它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能。二、交互式…

    2022年5月23日
    75
  • Pycharm远程开发操作

    Pycharm远程开发操作Pycharm 远程开发操作可以在 Windows 中使用 Pycharm 编写代码 而代码的调试运行可以使用远程服务器中的 python 解释器 在本地创建好工程项目 或从 git 上 clone 下代码 后 用 Pycharm 打开 1 打开 Tools 设置 Deployment 2 选择 SFTP3 设置服务器名字 4 设置服务器信息 1 测试服务器连接是否可用 2 设置上传代码的目录映射 3 打开设置 设置远程 Python 解释器 4 选择已存在的服务器设置 5 选择 Create 复制服务器设置到解

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号