javascript - 使用 Windows 脚本宿主将 json 字符串写入文件

标签 javascript windows json


我正在尝试编写我使用 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/

相关文章:

java - 无法通过 JQuery 进行身份验证

c++ - Windows 服务生成的进程运行速度比 GUI 生成的进程慢 3 到 4 倍

Windows Server 2016 Docker 镜像支持 SQL Server?

windows - 如何在保留 Windows 中当前文件夹结构的同时将 x 天前的文件从文件夹和子文件夹复制到新位置?

javascript - 在 webRTC 中使用电子邮件发送信号

javascript - Firebase事件监听重复数据

sql - 检查 Postgres JSONB 数组中是否存在字符串

javascript - jQuery(或JS)解码字符串中的HTML字符实体

javascript - 原型(prototype)对象/方法代码 - 不显示在控制台上

javascript - jQuery 数据表未捕获类型错误 : Cannot read property 'length' of undefined