Javascript 如何将JSON转换为ES6映射?

Javascript 如何将JSON转换为ES6映射?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在尝试转换以下格式的JSON: {1: 1, 4: -1} 到映射,其中键的类型为整数 我设法做到了这一点: let myMap = new Map(Object.entries(payload)); 但它最终将键转换为字符串 我做错了什么?您可以将字符串转换为数字 const myMap = new Map(Object.entries(payload).map(([k, v]) => ([+k, v]) )); 您可以将字符串转换为数字 const myMap = new

我正在尝试转换以下格式的JSON:

{1: 1, 4: -1}
映射
,其中键的类型为整数

我设法做到了这一点:

  let myMap = new Map(Object.entries(payload));
但它最终将键转换为字符串


我做错了什么?

您可以将字符串转换为数字

const myMap = new Map(Object.entries(payload).map(([k, v]) => ([+k, v]) ));

您可以将字符串转换为数字

const myMap = new Map(Object.entries(payload).map(([k, v]) => ([+k, v]) ));

在JSON字符串中,键是一个字符串。如果您使用的是
对象。条目
,这意味着它是一个
对象
对象键总是字符串。JSON字符串在哪里?我想了很多;我没能弄明白的是如何让它转换成一个带有整数键的映射。你是否使用
JSON.parse
,如果是,你可以使用
reviver
选项。在JSON字符串中,键是一个字符串。如果您使用的是
对象。条目
,这意味着它是一个
对象
对象键总是字符串。JSON字符串在哪里?我想了很多;我没能弄明白的是如何让它转换成一个带有整数键的映射。你在使用
JSON.parse
吗?如果是这样,你可以使用
reviver
选项。这就是解决方案!谢谢!:)@cjm2671这是我的荣幸。这是解决方案!谢谢!:)@cjm2671这是我的荣幸。