Javascript模板双引号

Javascript模板双引号,javascript,jscodeshift,Javascript,Jscodeshift,我有一个问题,我有一个文件,其中包含我的对象的形式 Dog1: { information: { color: 'red', name: 'Tom' } } 我正在构建一个程序,自动从一个文件中填充我的对象,但是当前的输出是 "Dog1": { "information": { "color": "red", "name": "Tom" } } 我的问题是,我需要在“red”和“Tom”之间加上单引号或双引号,但我不需要在其他所有内容上加引号。

我有一个问题,我有一个文件,其中包含我的对象的形式

Dog1: {
  information: {
    color: 'red',
    name: 'Tom'
  }
}
我正在构建一个程序,自动从一个文件中填充我的对象,但是当前的输出是

"Dog1": {
  "information": {
    "color": "red",
    "name": "Tom"
  }
}
我的问题是,我需要在“red”和“Tom”之间加上单引号或双引号,但我不需要在其他所有内容上加引号。我尝试过使用jscodeshift,但似乎无法让它工作。有人有什么建议吗


非常感谢您的时间,Joe

您的对象是JavaScript对象,对吗? 不管对象是如何写入文件的,它似乎是以JSON格式()编写的

在我看来,这没有错。这是存储JavaScript对象的正确方法。如果您真的不想要引号,您可能需要实现自己的逻辑来将对象写入文件

更新:
看见这家伙也有同样的问题,解决方案是在调用JSON.stringify()后删除引号。

我很快为您实现了一个自定义JSON序列化程序:

函数\u序列化\u对象\u键(键){
return/^[a-zA-Z\$][a-zA-Z\$0-9]*$/.test(key)?key:JSON.stringify(key);
}
函数_序列化_对象(对象、选项、当前缩进){
var arr=[],内部缩进=当前缩进+opts.indent公司;
for(obj中的var键){
if(对象hasOwnProperty(键)){
arr.push(内部缩进+_序列化对象键(键)+':“+_类似json的字符串化(obj[key],opts,内部缩进));
}
}
返回“{\n'+arr.join(',\n')+'\n'+current_indent+'}”;
}
函数序列化数组(arr、opts、当前缩进){
var internal_indent=当前_indent+opts.indent_inc;
返回“[\n'+内部缩进+arr.map(内部缩进映射)。联接(',\n'+内部缩进)+'\n'+当前缩进+']”;
函数内部映射(x){
返回类似字符串化的json(x,opts,内部缩进);
}
}
函数json_like_stringify(x,opts,current_indent){
开关(x型){
案例“编号”:
大小写“字符串”:
案例“布尔”:
违约:
返回JSON.stringify(x);
案例“对象”:
如果(x==null)返回'null';
if(Array.isArray(x))返回_serialize_数组(x,opts,current_indent);
返回序列化对象(x,选项,当前缩进);
}
}
函数json_like_stringify(x,indent){
如果(缩进===未定义)缩进=2;
var indent_inc='';
对于(变量i=0;i


后一种是标准JSON,前一种是javascript表达式。javascript将同样解析后一种格式。为什么需要前一种格式?如何生成对象?我正在一个更大的系统上工作,我只想保持一致性,但也需要通过验证检查。虽然两者都有效我的系统需要第一个,我想不出一个方法来做这件事,这不是一个肮脏的黑客。所以你有这些javascript对象,并试图将其序列化为给定格式的字符串(并可能将其发送到服务器)?你是如何生成第二个输出的?
newText=JSON.stringify(newParameter)
然后是一个文件,它只是一个新文本的集合,我们使用它来很好地格式化
美化(newDestFile,{indent_size:2,unescape_strings:true,jslint_happy:true});
侧注:
JSON.stringify(newParameter,null,4)
将进行格式化我正在一个需要这种格式的更大系统上工作,您是否建议我编写自己的逻辑或正则表达式来解决这个问题?我不知道您使用什么框架或库来在文件中写入对象。但是如果它将对象保存为JSON,并且您不需要JSON,您可能需要更改一些配置ons,或实现您自己的逻辑。现在只需使用stringify和美化(用于格式化)OK。也许这有帮助?看起来很好!我将尝试一下,看看会发生什么