Javascript 将单引号转换为双引号

Javascript 将单引号转换为双引号,javascript,node.js,object,Javascript,Node.js,Object,我的目标如下: { name: "TJ", age: 14, skills: { ruby: 14, html: 50 } } 基本上我想把它转换成这样: { "name": "TJ", "age": 14, "skills": { "ruby": 14, "html": 50 } } { '"name"': '"TJ"', ... } 所以,每件事都应该有双引号 我试着这样做: for ( let i in pers

我的目标如下:

{
  name: "TJ",
  age: 14,
  skills: {
    ruby: 14,
    html: 50
  }
}
基本上我想把它转换成这样:

{
  "name": "TJ",
  "age": 14,
  "skills": {
    "ruby": 14,
    "html": 50
  }
}
{
  '"name"': '"TJ"',
  ...
}
所以,每件事都应该有双引号

我试着这样做:

for ( let i in person ) {
   if ( typeof person[i] !== 'object' ) payload[`"${i}"`] = person[i]
   // if object then map inside and to the same
}
但它失败了,因为输出如下:

{
  "name": "TJ",
  "age": 14,
  "skills": {
    "ruby": 14,
    "html": 50
  }
}
{
  '"name"': '"TJ"',
  ...
}
另外,JSON.stringify也不好,因为它添加了
“{


有人知道我如何实现上述目标吗?

您可以使用JSON.stringify()对吗

如果

您在共享的链接()中看到的内容: {\'bool\':true,\'int\':1}

这就是控制台表示数据的方式。实际对象保持您期望的状态

检查以下链接:


检查您的浏览器控制台。

您可以只使用JSON.stringify()对吗

如果

您在共享的链接()中看到的内容: {\'bool\':true,\'int\':1}

这就是控制台表示数据的方式。实际对象保持您期望的状态

检查以下链接:


检查浏览器控制台。

刚刚尝试运行代码:

var person={
  name: "TJ",
  age: 14,
  skills: {
    ruby: 14,
    html: 50
  }
};

console.log(JSON.stringify(person));
o/p:


没有添加任何额外的大括号…

只是尝试运行代码:

var person={
  name: "TJ",
  age: 14,
  skills: {
    ruby: 14,
    html: 50
  }
};

console.log(JSON.stringify(person));
o/p:


不添加任何额外的大括号…

我不明白为什么JSON.stringify是默认情况下会转换为字符串的坏键。你能解释一下你到底想实现什么吗?@DDRamone因为对象看起来像这个@Anderson,所以这正是你需要的,不是吗?如果你不喜欢“\”,这只是一种
jsbin
呈现的方式。在chrome控制台中尝试同样的方法我不明白为什么JSON.stringify是默认情况下将坏键转换为字符串的。你能解释一下你到底想实现什么吗?@DDRamone因为对象看起来像@Anderson,所以这正是你需要的,不是吗?如果你不喜欢“\”,这只是
jsbin
呈现的一种方式。请在chrome中尝试同样的方法console@Anderson请检查我发送给你的链接后的edit@Anderson这就是你需要的,我确定。再检查一遍it@Anderson请检查我发送给你的链接后的edit@Anderson这就是你需要的,我确定。再检查一遍