【发布时间】:2016-01-11 09:48:10
【问题描述】:
我有一个问题,我的文件包含表单中的对象
Dog1: {
information: {
color: 'red',
name: 'Tom'
}
}
我正在构建一个程序,它会自动从文件中填充我的对象,但当前输出的格式为
"Dog1": {
"information": {
"color": "red",
"name": "Tom"
}
}
我的问题是我需要在“red”和“Tom”周围加上单引号或双引号,但其他所有内容都不需要。我曾尝试使用 jscodeshift,但似乎无法正常工作。有人对此有什么建议吗?
非常感谢您的宝贵时间,乔
【问题讨论】:
-
后一种是标准的JSON,前一种是javascript表达式。 Javascript 将同样解析后者。为什么需要前一种格式?如何生成对象?
-
我正在开发一个更大的系统,我只想保持相同以保持一致性,但它也需要通过验证检查。虽然它们都是有效的,但我的系统需要第一个,但我想不出一种方法来做到这一点,这不是一个肮脏的黑客。
-
所以你在 javascript 中有这些对象,并试图将其序列化为给定格式的字符串(并可能将其发送到服务器)?您是如何生成第二个输出的?
-
newText = JSON.stringify(newParameter);然后是一个文件,它只是一个新文本的 concat,我们使用美化来很好地格式化beautify(newDestFile, { indent_size: 2, unescape_strings: true, jslint_happy: true }); -
旁注:
JSON.stringify(newParameter, null, 4)会进行格式化