用带引号的键映射Javascript对象的最佳方法是什么

用带引号的键映射Javascript对象的最佳方法是什么,javascript,api,object,key-value,nest-nested-object,Javascript,Api,Object,Key Value,Nest Nested Object,我从API收到了这样的数据 var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'}; 使其成为键值对的最佳方法是什么?注意存在嵌套对象 更新 谢谢你的回答 这是如果我不想展平我的物体 var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"i

我从API收到了这样的数据

var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'};
使其成为键值对的最佳方法是什么?注意存在嵌套对象

更新 谢谢你的回答 这是如果我不想展平我的物体

var myObj = {'name':'ahmed','age':37,'tools':{'dev1':"macbook",'dev2':"iphone",'dev3':"tablet"},'gender':'male'};


function unQuoteKeys(obj, newObj ={}){
    Object.keys(obj).forEach(key => {
          newObj[key] = obj[key]
    });
    return newObj
}
console.log(unQuoteKeys(myObj));
结果

{ name: 'ahmed',
  age: 37,
  tools: { dev1: 'macbook', dev2: 'iphone', dev3: 'tablet' },
  gender: 'male' }

听起来像是要将整个对象展平为一组键值对。您可以使用一个简单的递归函数来实现这一点,该函数将键/值添加到返回对象(如果它们是简单值)中,或者在值是对象时递归:

var myObj={'name':'ahmed','age':37,'tools':{'dev1':'macbook','dev2':'iphone','dev3':“tablet”},'gender':'male'};
函数展平(obj,res={}){
Object.keys(obj.forEach)(key=>{
如果(对象的类型[键]='对象')展平(对象[键],分辨率)
else res[key]=obj[key]
})
返回res
}

log(展平(myObj))
听起来您想将整个对象展平为一组键值对。您可以使用一个简单的递归函数来实现这一点,该函数将键/值添加到返回对象(如果它们是简单值)中,或者在值是对象时递归:

var myObj={'name':'ahmed','age':37,'tools':{'dev1':'macbook','dev2':'iphone','dev3':“tablet”},'gender':'male'};
函数展平(obj,res={}){
Object.keys(obj.forEach)(key=>{
如果(对象的类型[键]='对象')展平(对象[键],分辨率)
else res[key]=obj[key]
})
返回res
}

log(展平(myObj))
如果要展平对象,也可以使用
\u flatte()
方法。工作起来很有魅力。

如果您想展平对象,也可以使用
\u flatte()
方法。工作起来很有魅力。

不清楚你的意思;那是一个物体。如果您要编写
console.log(myObj.tools.dev1)
它将返回“macbook”…如果可能,请发布API发送的确切数据结构(作为JSON)。你发布的是一个JavaScript对象。你是在寻找
JSON.parse(myObj)
,还是已经这么做了?这不是JSON,因为JSON需要双引号(
),而不是单引号(
)。重复(?)不清楚你的意思是什么;这是一个对象。如果你要编写
console.log(myObj.tools.dev1)
它将返回“macbook”…如果可能的话,请发布API发送的确切数据结构(作为JSON)。您发布的是一个JavaScript对象。您正在寻找
JSON.parse(myObj)
,还是您已经这样做了?这不是JSON,因为JSON需要双引号(
),而不是单引号(
)。重复(?)属于