Java中Map与JSON数据之间的转化是Java开发中常见的操作,特别是在进行前后端数据交互的过程中。下面是Java中Map与JSON数据之间互相转化的完整攻略。
1. Map转JSON
将Map转化为JSON格式的数据可以使用Gson、Jackson等第三方库进行实现。
1.1 Gson实现
Gson是Google提供的一个Java中的JSON处理库,可以轻松完成JSON格式和Java对象之间的转换。
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
map.put("sex", "男");
Gson gson = new Gson();
String jsonStr = gson.toJson(map);
System.out.println(jsonStr);
输出结果为:
{"sex":"男","name":"张三","age":18}
1.2 Jackson实现
Jackson是另一个常用的JSON处理库,同样也可以实现Map转JSON的操作。
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
map.put("sex", "男");
ObjectMapper mapper = new ObjectMapper();
String jsonStr = mapper.writeValueAsString(map);
System.out.println(jsonStr);
输出结果为:
{"name":"张三","age":18,"sex":"男"}
2. JSON转Map
2.1 Gson实现
同样使用Gson可以将JSON格式的数据转化成Map。
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"sex\":\"男\"}";
Gson gson = new Gson();
Type type = new TypeToken<Map<String, Object>>() {}.getType();
Map<String, Object> map = gson.fromJson(jsonStr, type);
System.out.println(map.get("name"));
System.out.println(map.get("age"));
System.out.println(map.get("sex"));
输出结果为:
张三
18
男
2.2 Jackson实现
Jackson同样支持将JSON字符串转化成Map。
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"sex\":\"男\"}";
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.readValue(jsonStr, new TypeReference<Map<String,Object>>(){});
System.out.println(map.get("name"));
System.out.println(map.get("age"));
System.out.println(map.get("sex"));
输出结果为:
张三
18
男
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中Map与JSON数据之间的互相转化 - Python技术站