Object转 map
时间: 2023-09-24 22:03:43 浏览: 122
要将一个对象(Object)转换为一个 Map 数据结构,你可以使用以下代码:
```javascript
function objectToMap(obj) {
const map = new Map();
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
map.set(key, obj[key]);
}
}
return map;
}
// 示例用法
const obj = { a: 1, b: 2, c: 3 };
const map = objectToMap(obj);
console.log(map);
```
这个 `objectToMap` 函数会遍历对象的属性,并使用 `map.set` 方法将属性名和对应的值存储在 Map 中。最后返回转换后的 Map 对象。
在这个示例中,将 `{ a: 1, b: 2, c: 3 }` 转换为 Map 后,会得到以下结果:
```
Map(3) { 'a' => 1, 'b' => 2, 'c' => 3 }
```
相关问题
Object转map
将一个 Object 转为 Map,可以使用 Java 8 中的 Stream,具体代码如下:
```
Map<String, Object> map = obj.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
其中,obj 为要转换的 Object 对象。这里使用了 Java 8 中的 Stream,对 obj 中的每个键值对进行了映射,然后通过 Collectors.toMap() 方法将映射结果收集到一个 Map 中。
如果 obj 中包含重复的键,可以使用 mergeFunction 参数来指定如何处理冲突,例如:
```
Map<String, Object> map = obj.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> v1));
```
上面的代码中,当 obj 中出现重复的键时,保留第一个值。如果要保留第二个值,可以将 mergeFunction 参数改为 (v1, v2) -> v2。
object 转map
可以使用Java中的Gson库将JsonObject转换为Map。
示例代码如下:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONObject;
import java.lang.reflect.Type;
import java.util.Map;
public class JsonObjectToMap {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject("{\"name\":\"张三\",\"age\":18,\"gender\":\"男\"}");
Gson gson = new Gson();
Type type = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> map = gson.fromJson(jsonObject.toString(), type);
System.out.println(map);
}
}
```
首先,我们创建了一个JsonObject对象,然后使用Gson库将其转换为Map对象。
在转换时,我们需要使用TypeToken来指定Map的类型,因为Gson在运行时需要知道Map的键和值的类型。
最后,我们打印出转换后的Map对象,输出结果为:
```
{name=张三, age=18.0, gender=男}
```
阅读全文