首页 > 其他分享 >json转map

json转map

时间:2023-01-13 23:36:10浏览次数:38  
标签:map String title attach json new


java中map和json互转工具类,注意方法示例的格式(这里是最简单的无嵌套的格式),不满足此格式的不合适:

package com.yscredit.sz.util;

import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.map.LinkedMap;
import org.codehaus.jackson.map.ObjectMapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
* Author: momo
* Date: 2018/5/7
* Description:map和json互转工具类
*/
public class MapJsonUtil {

public static void main(String[] args){
Map<String,Object> map = new LinkedMap();
map.put("title","国务院2号文件");
map.put("attach","根据中华人民共和国");
String s = mapToJson(map);

Map<String,Object> map2 = new LinkedMap();
map2.put("title","省委三号文件");
map2.put("attach","本次大会研究决定");
System.out.println(map2);
String s2 = mapToJson(map2);

mapListToJson(map,map2);
}


/**
* map转json
* @param map {title=国务院2号文件, attach=根据中华人民共和国}
* @return json {"title":"国务院2号文件","attach":"根据中华人民共和国"}
*/
public static String mapToJson(Map<String,Object> map){
ObjectMapper obm = new ObjectMapper();
String param = null;
try {
param = obm.writeValueAsString(map);
return param;
}catch (Exception ex){
throw new RuntimeException("map转json出错",ex);
}
}

/**
* json转map
* @param jsonStr {"title":"国务院2号文件","attach":"根据中华人民共和国"}
* @return map {title=国务院2号文件, attach=根据中华人民共和国}
*/
public static Map<String,Object> jsonToMap(String jsonStr){
try {
Map<String,Object> map2= JSON.parseObject(jsonStr,LinkedMap.class);
return map2;
}catch (Exception ex){
throw new RuntimeException("json转map出错",ex);
}
}

/**
* List<Map<String,Object>>转json
* @param args {title=国务院2号文件, attach=根据中华人民共和国} {title=省委三号文件, attach=本次大会研究决定} ...
* @return String [{"title":"国务院2号文件","attach":"根据中华人民共和国"}, {"title":"省委三号文件","attach":"本次大会研究决定"}]
*/
public static String mapListToJson(Map<String,Object> ...args){
List<Object> list = new ArrayList<>();
ObjectMapper obm = new ObjectMapper();
try {
if(args.length > 0){
for (int i = 0,length = args.length;i < length;i++){
list.add(obm.writeValueAsString(args[i]));
}
}
return list.toString();
}catch (Exception ex){
throw new RuntimeException("List<Map<String,Object>>转json出错",ex);
}
}
}

用到的阿里的fastjson依赖:

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


标签:map,String,title,attach,json,new
From: https://blog.51cto.com/u_15936016/6006784

相关文章

  • YAMLException: incomplete explicit mapping pair; a key node is missed; or follow
    使用hexog出现如下错误,一顿排查,发现,是文章的文件名和文章的title有非法字符,原title为:ssh:connecttohostgithub.comport22:Connectiontimedout。解决方案:修改名称......
  • Gradle sync failed: Cause: com.intellij.util.containers.HashMap cannot be cast t
    使用idea导入gradle项目,报这个错误:Gradlesyncfailed:Cause:com.intellij.util.containers.HashMapcannotbecasttocom.intellij.util.containers.MultiMap而且搜......
  • SpringBoot 项目中配置多个 Jackson 的 ObjectMapper ,以及配置遇到的坑
    目录问题说明原因排查分析结论总结Jackson自动装配分析问题说明我们都知道,SpringBoot项目中,如果引入了Jackson的包,哪怕不配置,SpringBoot也会帮我们配置(JacksonAutoC......
  • treemap与hashcode
    有个需求 需要将map排序 我就用了treemap 一个map列表  将总计字段放在最后面 其他无所谓 最开始是这样写的Map<String,Object>temp=newTreeMap<>(ne......
  • python-标准库json模块的使用
    python-标准库json模块1.标准库json模块JSON是一种轻量级数据交换格式,一般API返回的数据大多是JSON、XML,如果返回JSON的话,需将获取的数据转换成字典,方面在程序中处理......
  • 论ORBSLAM_with_pointcloud_map段错误(核心已转储)的另一种解决方法
    二、另一种思路:在CMAKELISTS中取消编译器的一些设置此方法来自ORBSLAM_with_pointcloud_map讨论区在CMAKELISTS中删除-march=nativeset(CMAKE_C_FLAGS"${CMAKE_C_FLAGS}......
  • 4week-5map
    map定义2种方式1.字面量定义语法2.make......
  • fastjson绕过-2
    前言这里的话就多介绍几种绕过的机制吧,然后原理的话就稍微分析一下,因为绕过的版本太多了,绕过的方法虽然有所不同但最终都是对代码的恶意解读嘛1.2.25绕过先看一下1.2.25......
  • jdk7中HashMap的实现原理和源码解读
    jdk7中HashMap是通过数组+链表实现的。一、hashmap的存储原理Map集合中的数据都是键值对形式的,例如key:"a",value:"1",而数组中的某个位置只能存储一个元素,所以为了把键......
  • ES6-Map
    一。怎么用constm=newMap();console.log(m);//{size:0}m.set('a',1);//添加键、值m.set('b',2);console.log(m);//......