【发布时间】:2022-01-21 10:09:47
【问题描述】:
谁能解释一下(请用简单的话)为什么我们需要将对象转换为Map?
我在 medium.com 中看到了下面的代码,但没有得到它:
package com.nayan.examples;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Arrays;
import java.util.Map;
public class ObjectToMapExample {
public static void main(String[] args) {
ObjectMapper oMapper = new ObjectMapper();
Student obj = new Student();
obj.setName("nayan");
obj.setAge(34);
obj.setSkills(Arrays.asList("java","angular"));
// object -> Map
Map<String, Object> map = oMapper.convertValue(obj, Map.class);
System.out.println(map);
}
}
输出:
{name=nayan, age=34, skills=[java, angular]}
我们不能直接将value 与key 放在一起而不进行任何转换吗?
【问题讨论】:
-
您发布的代码将对象转换为地图,因为这是代码的重点。
-
@khelwood 我知道,但是如果不转换对象,输出会改变吗?
-
如果您不想将对象转换为地图,则不需要。如果你想知道为什么这个特定的代码将一个对象转换为一个地图,你应该问这个代码的作者。
-
这不是我要问的。为了知道您是否需要它,您需要了解使用它的优点/缺点(对象转换器)。 @MarkRotteveel
-
这很简单:如果您需要地图而不是对象,您可以这样做。如果您不需要地图,那么您不应该这样做。
标签: java spring spring-boot