前言

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

正文

JSON转换成Map

import com.alibaba.fastjson.JSONObject;

Map<String, Object> map= (Map<String, Object>)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<String, Object> map = JSON.parseObject(JSON.toJSONString(object),new TypeReference<Map<String,Object>>(){});

JAVA8-List转Map

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

 JSONArray 转List

List<class> list = JSONObject.parseArray(jsonArray.toJSONString(), class);

结语

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

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐