Json、Map、Object 互相转换

前言

工作总结,经常会遇到Json、Map、Object 之间的转换,本文记录下方法。

正文

JSON转换成Map

import com.alibaba.fastjson.JSONObject;

Map map= (Map)JSONObject.parse(jsonStr); 

Map转换成JSON

import com.alibaba.fastjson.JSONObject;

String jsonStr = JSONObject.toJSONString(objectMap)

JSON转Object

import com.alibaba.fastjson.JSON;
Object object = JSON.toJavaObject(JSON.parseObject(jsonStr),Object.class);


import com.alibaba.fastjson.JSONObject;
Object object = JSONObject.parse(jsonStr); 

Object转JSON

import com.alibaba.fastjson.JSON;

String jsonStr = JSON.toJSONString(object);

Object转map

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

Map map = JSON.parseObject(JSON.toJSONString(object),new TypeReference>(){});

JAVA8-List转Map

/**
 * List -> Map
 * 需要注意的是:
 * toMap 如果集合对象有重复的key,会报错Duplicate key ....
 * ob1,ob2的id都为1。
 * 可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2
 */
Map obMap = obList.stream().collect(Collectors.toMap(Object::getId, a -> a,(k1,k2)->k1));

结语

有其他方法,欢迎留言告知

你可能感兴趣的:(json与map互相转换)