javascript - Skriver json streng i fil ved hjælp af Windows Script Host

Indlæg af Hanne Mølgaard Plasc

Problem





Jeg forsøger at skrive json streng, som jeg strengede ved hjælp af https://github.com/douglascrockford/JSON-js/blob/master/json2.js (JSON.stringify), [6]


Jeg forsøger at redde strengen, og jeg får en fejl:



  Microsoft JScript Runtime Error: Ugyldigt procedureopkald eller argument






var textStream = fileObj.OpenAsTextStream(ForWriting, TristateFalse); 


dette er min kode:


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();

Bedste reference


De konstanter, du overfører til FSO-metoderne, udsættes ikke via sen binding med new ActiveXObject, så du skal definere dem selvstændigt;


var ForWriting = 2;
var TristateFalse = 0;


Rediger


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();