我正在尝试编写我使用 https://github.com/douglascrockford/JSON-js/blob/master/json2.js 进行字符串化的 json 字符串( JSON.stringify) ,
我正在尝试保存字符串,但出现错误:
Microsoft JScript Runtime Error: Invalid procedure call or argument
在
var textStream = fileObj.OpenAsTextStream(ForWriting, TristateFalse);
这是我的代码:
var pref = JSON.parse(textPref);
textPref = JSON.stringify(pref);
WSH.echo(textPref)
// Create the new file.
fso.CreateTextFile("d:\\Preferences_temp", true);
var fileObj = fso.GetFile("d:\\Preferences_temp");
var textStream = fileObj.OpenAsTextStream(ForWriting, TristateFalse); <- Microsoft JScript Runtime Error: Invalid procedure call or argument
textStream.Write(textPref);
textStream.Close();
最佳答案
您传递给 FSO 方法的常量不会通过与 new ActiveXObject
的后期绑定(bind)公开,因此您需要独立定义它们;
var ForWriting = 2;
var TristateFalse = 0;
编辑
var ForWriting = 2;
var TristateTrue = -1;
var textPref = '{"xxx": "AA \u05D5 BB"}';
var pref = JSON.parse(textPref);
textPref = JSON.stringify(pref)
// Create the new file.
var fso = new ActiveXObject("Scripting.FileSystemObject");
//create as unicode
fso.CreateTextFile("c:\\null\\Preferences_temp", true, true);
var fileObj = fso.GetFile("c:\\null\\Preferences_temp");
//open for unicode
var textStream = fileObj.OpenAsTextStream(ForWriting, TristateTrue);
textStream.Write(textPref);
textStream.Close();
关于javascript - 使用 Windows 脚本宿主将 json 字符串写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7346551/