JSON to MAP,MAP to JSON

Java映射到JSON与JSON到映射的转换方法
本文介绍了如何使用Java将Map转换为JSON字符串和将JSON字符串转换回Map的方法,包括实现细节和示例代码。
//map2json
	public static <K , V> String toJSON(Map<K, V> map){
		if(null == map || map.isEmpty()){
			return "";
		}
		JSONObject jsonObject = new JSONObject();
		jsonObject.putAll(map);
		return jsonObject.toString();
	}
	//json2map
	@SuppressWarnings("unchecked")
	public static <K, V> Map<K, V> toMap(String json){
		if(StringUtils.isBlank(json)){
			return Collections.emptyMap();
		}
		JSONObject jsonObject = JSONObject.fromObject(json);
		return (Map<K, V>) JSONObject.toBean(jsonObject, HashMap.class);
	}

### 将JSON对象转换为Map类型的方法 在不同编程环境中,将JSON对象转换为`Map`类型的实现方式有所不同。以下是几种常见环境下的方法。 #### Java环境下使用Fastjson库 对于Java开发而言,借助于阿里巴巴开源的Fastjson库可以轻松完成这一任务。通过调用`JSONObject.parseObject()`方法并指定第二个参数为`HashMap.class`即可获得期望的结果[^2]。 ```java import com.alibaba.fastjson.JSON; import java.util.HashMap; public class JsonToMapExample { public static void main(String[] args) { String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; HashMap<String, Object> mapResult = JSON.parseObject(jsonString, HashMap.class); System.out.println(mapResult.get("name")); // 输出 John } } ``` #### Node.js环境内利用内置API 而在Node.js中,则可以直接运用全局可用的`JSON.parse()`函数来处理这个问题。此函数会把合法的JSON字符串解析成相应的JavaScript对象,在这里即是一个标准的对象字面量形式,它本质上也是一种键值对集合,类似于其他语言里的`Map`或哈希表[^3]。 ```javascript const jsonString = '{"name":"John", "age":30, "city":"New York"}'; let resultMap = JSON.parse(jsonString); console.log(resultMap.name); // 打印 John ``` #### Spring框架下结合Jackson库的应用场景 当处于Spring MVC这样的Web应用上下文中时,除了上述两种通用手段外,还可以考虑采用更贴近业务逻辑的方式——创建自定义拦截器配合Jackson序列化/反序列化工具包来进行更加灵活的操作[^4]。 ```java // 假设已经配置好了必要的依赖以及相应设置... @PostMapping("/example") @ResponseBody public ResponseEntity<Map<String,Object>> handleRequest(@RequestBody Map<String,Object> body){ // 处理接收到的数据... return new ResponseEntity<>(body, HttpStatus.OK); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值