【发布时间】:2018-02-08 00:08:45
【问题描述】:
var map = new Map();
map.set('key1','value1');
map.set('key2','value2');
console.log(map);
console.log(map.toString());
console.log(JSON.parse(map.toString()))
//Uncaught SyntaxError: Unexpected token o in JSON at position 1
使用toString() 将地图对象转换为字符串,现在我无法从字符串转换为地图对象。
【问题讨论】:
-
“Uncaught SyntaxError: Unexpected token o in JSON at position 1”表示您尝试解析的内容通常是
[object Object],但在本例中为[object Map]。 -
这是
[object Map]一个有效的 JSON 吗? -
提示:如果上面写着“
[object Map]”,那么这里就没有隐藏更多神奇的信息了。 “[object Map]”实际上是您要在此处解析的字符串,显然您将永远无法从中获得您的value1和value2。 -
@Rajesh 如何再次串起来?我只试过 JSON.parse
-
Map 不兼容 JSON,这是因为键可以是任何东西,包括对象等。如果您使用简单的键值/对,则改用
Object.create(null)可能更容易。
标签: javascript