map转换成JSON的方法

map转换成JSON的方法第一种alibabafalstjson:1.Map转JSONMap<String,Object>map=newHashMap<String,Object>();map.put(“a”,”a”);map.put(“b”,”123″);JSONObjectjson=newJSONO…

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

 第一种alibaba falstjson:

1.Map转JSON

  Map<String, Object> map = new HashMap<String, Object>();
        map.put("a", "a");
        map.put("b", "123");

        JSONObject json = new JSONObject(map);

2.map转string

  Map<String, Object> map = new HashMap<>();
        map.put("a", "b");
        String s = JSONObject.toJSONString(map);

3.JSON转String

  JSONObject json = new JSONObject();
        json.put("c", "v");
        json.put("z", "123n);

        json.toJSONString();

4.JSON转Map

JSONObject json = new JSONObject();
        json.put("ccc", "321");
        json.put("bbb", "123");

        Map<String, Object> map = (Map<String, Object>)json;

5.String转JSON

 String str = "{\"username\":\"dsad\",\"qwewqe\":\"123\"}";
JSONObject json = JSONObject.parseObject(str);

2  google

maven坐标

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.3.1</version>
</dependency>

 

//Map转换成JSON

Map<String,String> map = new HashMap<String,String>(); 
map.put("a","aaa"); 
map.put("b","bbb"); 
map.put("c","ccc"); 
String json=JSON.toJSONString(map); 
System.out.println(json);//输出{"a":"aaa","b":"bbb","c":"ccc"}

//JSON转换成Map

Map map1 = JSON.parseObject(json);
System.out.println(map1.get("a"));
for (Object mapData : map.entrySet()) {
Map.Entry<String,String> entry = (Map.Entry<String,String>)mapData;
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
/*输出
b--->bbb
c--->ccc
a--->aaa
*/

map中含有对象Map -> JSON

//Map -> JSON
Map<String,Bar> map = new HashMap<String, Bar>(); 
map.put("a",new Bar()); 
map.put("b",new Bar()); 
map.put("c",new Bar()); 
String json = JSON.toJSONString(map,true); 
System.out.println(json); 
/*
输出{
	"a":{
		"barAge":383687382,
		"barDate":1494945882018,
		"barName":"name_1689176802"
	},
	"b":{
		"barAge":-100528778,
		"barDate":1494945882018,
		"barName":"name_-878176366"
	},
	"c":{
		"barAge":-344075192,
		"barDate":1494945882018,
		"barName":"name_-1710740534"
	}
}
*/

//JSON -> Map

Map<String,Bar> map1 = (Map<String,Bar>)JSON.parse(json); 
for (String key : map1.keySet()) { 
System.out.println(key+":"+map1.get(key)); 
} 
/*输出
b:{"barAge":-100528778,"barDate":1494945882018,"barName":"name_-878176366"}
c:{"barAge":-344075192,"barDate":1494945882018,"barName":"name_-1710740534"}
a:{"barAge":383687382,"barDate":1494945882018,"barName":"name_1689176802"}
*/

 

——————-===————————-附–MAP的ASCII排序———————–===————————

StringBuilder sb = new StringBuilder();
	List<String> keys = new ArrayList<String>(map.keySet());
	Collections.sort(keys);//排序。
	for(String k : keys){
		String v = params.get(k);
		if(StringUtils.isNotEmpty(v)){
			sb.append(v);
		}
	}
	//return MD5.toMD5(sb+key, "UTF-8");这个就不用看了~~~

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm激活码【2021免费激活】[通俗易懂]

    (webstorm激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    514
  • mysql主从复制原理面试_数据库主从复制 读写分离

    mysql主从复制原理面试_数据库主从复制 读写分离为什么要做主从复制在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。做数据的热备,主库宕机后能够及时替换主库,保证业务可用性。架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O……

    2022年8月13日
    3
  • oracle的todate函数的日期格式_oracle date格式

    oracle的todate函数的日期格式_oracle date格式转自http://apps.hi.baidu.com/share/detail/10070907OracleTO_DATE日期格式大全Oracle中TO_DATE格式2009-04-1410:53TO_DATE格式(以时间:2007-11-02  13:45:25为例)       Year:            yytwodigits两位年              …

    2022年10月12日
    0
  • 什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别

    什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别指纹识别作为一种生物识别方案,在手机上的应用为用户日常使用带来了极大的便利,从解锁手机到应用加密再到支付等场景,原本需要输密码的繁琐场景如今按一下手指就行。随着手机的发展,指纹解锁也出现了不同的解决方案,比如OPPOK3所采用的目前主流的屏下指纹解锁,以及荣耀9X所采用侧面指纹解锁。那么在实际应用场景中,哪种指纹识别更实用呢?采用了屏幕指纹的OPPOK3与侧面指纹的荣耀9X都有着真全面屏的设计…

    2022年6月30日
    42
  • 你不知道的PreparedStatement预编译[通俗易懂]

    你不知道的PreparedStatement预编译[通俗易懂]大家都知道,Mybatis内置参数,形如#{xxx}的,均采用了sql预编译的形式,大致知道mybatis底层使用PreparedStatement,过程是先将带有占位符(即”?”)的sql模板发送至mysql服务器,由服务器对此无参数的sql进行编译后,将编译结果缓存,然后直接执行带有真实参数的sql。如果你的基本结论也是如此,那你就大错特错了。目录1.mysql是否默认开启了预编译功…

    2022年5月30日
    29
  • pip的安装与卸载「建议收藏」

    前言我个人的理解是,pip是一种工具,可以帮助用户安装卸载一些需要的安装包,非常的简单实用,类似于yum下面介绍的是使用系统自带的python来安装pip。安装方法一sudoaptinstallpython-pip方法二wgethttps://bootstrap.pypa.io/get-pip.py#科学上网pythonget-pip.pypyth…

    2022年4月5日
    53

发表回复

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

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