NodeJS: Schreiben von JSON-Dateien ohne Zeilenumbrüche beim Öffnen im Editor. Ist aber schön mit anderen Editoren zu sehen

5232
Sritharan

Ich schreibe eine JSON-Datei mit NodeJS wie folgt:

var path = "D:\\test.json" var writeContent = {"Success" : "This is a sample"} fs.writeFile(path, JSON.stringify(writeContent, null, 4), function (error) { if (error === null) { response.json(SuccessResponse); }else{ response.json(ErrorResponse + error.message); } }); 

Die Datei wird erfolgreich geschrieben, und auch die JSON-Datei wird gedruckt, wenn ich die JSON-Datei in den neuesten Datei-Editoren wie Subllime3, Notepad ++ öffne. Ich kann die hübsche Form der Datei anzeigen. Wenn ich jedoch dieselbe Datei in Notepad öffne, kann ich den Inhalt nicht im hübschen Format anzeigen.

Es wird betrachtet als:

{ "GlobalName": "CIRCULAR_GRATES_M01_METRIC", "LocalName": "Circular Grates M01" } 
1
Verwandt aus SO: [Konstante Node.JS für plattformspezifische neue Zeile?] (Http://stackoverflow.com/questions/10864486/node-js-constant-for-platform-specific-new-line) Ƭᴇcʜιᴇ007 vor 8 Jahren 0

1 Antwort auf die Frage

4
Daniel B

Die Datei hat höchstwahrscheinlich UNIX-Zeilenumbrüche ( \n), im Gegensatz zu Windows-Zeilenumbrüchen ( \r\n). Notepad ist ziemlich dumm und unterstützt nur Letzteres.

Wordpad hingegen unterstützt beide. Das ist kein Witz. ;)

Die meisten "modernen" Editoren unterstützen beide und ermöglichen die Konvertierung zwischen den beiden (und möglicherweise Mac-Zeilenumbrüchen).

Mac OS X-Zeilenumbrüche sind seit 2001 Unix-Zeilenumbrüche, `0x0a` aka` \ n` aka `LF`. (OS 9 und früher verwendeten `0x0d` aka` \ r` aka `CR`.) Arjan vor 8 Jahren 1