将单引号转换为双引号

And*_*son 0 javascript object node.js

我有以下对象:

{
  name: "TJ",
  age: 14,
  skills: {
    ruby: 14,
    html: 50
  }
}
Run Code Online (Sandbox Code Playgroud)

基本上我想把它转换成这样的东西:

{
  "name": "TJ",
  "age": 14,
  "skills": {
    "ruby": 14,
    "html": 50
  }
}
Run Code Online (Sandbox Code Playgroud)

所以,一切都应该有双引号.

我试着这样做:

for ( let i in person ) {
   if ( typeof person[i] !== 'object' ) payload[`"${i}"`] = person[i]
   // if object then map inside and to the same
}
Run Code Online (Sandbox Code Playgroud)

但它失败了,因为输出是这样的:

{
  '"name"': '"TJ"',
  ...
}
Run Code Online (Sandbox Code Playgroud)

此外,JSON.stringify并不好,因为它的添加"{".

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

Pan*_*ahi 5

你可以只使用JSON.stringify()吗?

如果

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

var b = JSON.stringify(a);
Run Code Online (Sandbox Code Playgroud)

您在共享链接中看到的内容(http://jsbin.com/vogivanohe/edit?js,console):"{\"bool \":true,\"int \":1}"

就是控制台如何表示数据.实际对象仍然如您所愿.

请查看以下链接:http: //codepen.io/pankaj805/pen/xgXoyQ

检查浏览器控制台.