使用中断字将javascript对象保存到文件中

使用中断字将javascript对象保存到文件中,javascript,Javascript,我有一个包含字符串属性的大对象数组。当我将名为data的对象保存到json文件中时,string属性附带了诸如“getElementsByTagName(\“track\”)”之类的断字。我需要这样做:“getElementsByTagName(“track”)”没有\ 我的代码: var jsonobj = JSON.stringify(data,null,'\t'); fs.write('final8.json', jsonobj, 'w'); 使用单引号可以避

我有一个包含字符串属性的大对象数组。当我将名为data的对象保存到json文件中时,string属性附带了诸如
“getElementsByTagName(\“track\”)”
之类的断字。我需要这样做:
“getElementsByTagName(“track”)”
没有
\

我的代码:

       var jsonobj = JSON.stringify(data,null,'\t');
       fs.write('final8.json', jsonobj, 'w');

使用单引号可以避免转义。例如,您可以使用自定义序列化程序将“替换为”

var data = {test: 'getElementByTagName("track")'}

JSON.stringify(data, function(key,value) {
  if(typeof value === 'string') {
    return value.replace(/"/g, '\'')
  }
  return value
}, '\t');

"{
    "test": "getElementByTagName('track')"
}"

您可以使用单引号避免转义。例如,您可以使用自定义序列化程序将“替换为”

var data = {test: 'getElementByTagName("track")'}

JSON.stringify(data, function(key,value) {
  if(typeof value === 'string') {
    return value.replace(/"/g, '\'')
  }
  return value
}, '\t');

"{
    "test": "getElementByTagName('track')"
}"

你不能,因为
“getElementsByTagName(“track”)”
不是有效的json。那么我如何像getElementsByTagName(“track”)一样打印它?@TiagoCastro你能用单引号代替吗?我不能,因为这是一个页面内容,我的脚本只获取内容。然后你就无能为力了。生成的带有非转义双qoutes的json将无效。您不能这样做,因为
“getElementsByTagName(“track”)”
不是有效的json。那么我如何像getElementsByTagName(“track”)一样打印它?@TiagoCastro您可以改用单引号吗?我不能,因为这是一个页面内容,我的剧本只是得到了内容,那你就无能为力了。生成的带有非转义双qoutes的json将无效。