在javascript中将对象转换为字符串,而不在键中加引号

在javascript中将对象转换为字符串,而不在键中加引号,javascript,Javascript,如何将对象转换为字符串,以便输出如下所示: e、 g.a={b:c} 让我们假设上面的示例是我们的示例对象。现在我们可以使用JSON.stringify(a)将其转换为字符串,但输出 console.log(a)->{“b”:“c”}但是我想要这样的东西:{b:“c”}以原始对象格式。您可以尝试npm包。您可以尝试使用Reg-ex,在调用中使用$1将第一次出现的替换为空白字符: const a=JSON.stringify({a:“a”,b:“b”,c:“c”})。替换(/“(\w+)”\s*

如何将对象转换为字符串,以便输出如下所示:

e、 g.
a={b:c}

让我们假设上面的示例是我们的示例对象。现在我们可以使用
JSON.stringify(a)
将其转换为字符串,但输出


console.log(a)
->
{“b”:“c”}
但是我想要这样的东西:
{b:“c”}
以原始对象格式。

您可以尝试npm包。

您可以尝试使用Reg-ex,在调用中使用
$1
将第一次出现的
替换为空白字符:

const a=JSON.stringify({a:“a”,b:“b”,c:“c”})。替换(/“(\w+)”\s*:/g,$1:”);
控制台日志(a)此代码取自

有一个更简单的正则表达式解决方案,但它有一个正则表达式固有的缺点。对于复杂和嵌套对象中的某些边情况,它不起作用

const data={a:“b”,“b”:“c”,
c:{a:“b”,“c:“d”}
console.log(stringify(数据))
函数stringify(obj_from_json){
if(typeof obj_from_json!=“object”|| Array.isArray(obj_from_json)){
//不是对象,使用本机函数进行字符串化
返回JSON.stringify(来自JSON的obj_);
}
//根据JSON规范实现递归对象序列化
//但在关键点周围没有引号。
让道具=物体
.keys(来自json的obj_)
.map(key=>`${key}:${stringify(obj_from_json[key])}`)
.加入(“,”);
返回“{${props}}”;

}
当对循环OUTH有疑问时,您为什么希望原始的JSON格式无效?@mplungjan我需要将此对象作为graphql查询的一部分传递。问题是我只能这样通过:(a:“b”,c:“d”)。若字符串如下所示,它将抛出错误:(“a”:“b”,“c”:“d”),这是不幸的。可能需要修复或请求修复graphql代码