让我先承认我是一个完整的编程和javascript noob,并且事实是我的麻烦来源。解析“......没有方法”时出现JSON错误'替换'“
我想从我用json.stringify保存到的文本文件填充大量自定义对象。当我抓住了文件的内容和JSON.parse(他们),我收到以下错误:
fs.readFile('/savedcustomobjectarray', function (err, data) {
var customobjectarray = json.parse(data);
});
我猜我要去:
var backSlashRemoved = text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'
^
TypeError: Object (contents of file) has no method 'replace'
导致此错误的代码关于这一切都错了。我看到一些人提到序列化这种事情,但我想仔细检查,如果这是我所需要的(也许在这种情况下如何使用它们的方向)。但是,似乎stringify的输出很好,所以我不确定为什么JSON不能再把矮胖的东西放回去。任何帮助将不胜感激。
编辑: text.replace行在/vendor/commonjs-utils/lib/json-ext.js,不是我的代码。我认为这是JSON的一部分。也许我错了?有没有不同的方式来解析我的对象数组通过JSON?
'.replace'只能在String上调用。检查文本是字符串还是其他对象 – JohnP 2011-05-05 15:57:16
你正在试图用你的正则表达式做什么? – 2011-05-05 16:01:06
@JohnP我不知道如何应用你所说的话。文件中的文本是字符串化的JSON文件,而text.replace不在我的代码中,而是从json.parse(数据)代码中引入。 – clixby 2011-05-05 16:02:54