NodeJS: запись файла JSON без разрывов строк при открытии в блокноте. Но это красивый вид с другими редакторами

5096
Sritharan

Я пишу JSON-файл, используя NodeJS, например:

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

Файл успешно записывается, а также файл JSON довольно печатается, когда я открываю файл JSON в последних файловых редакторах, таких как Subllime3, Notepad ++. Я могу просмотреть красивую форму файла. Но когда я открываю тот же файл в Блокноте, я не могу просматривать содержимое в красивом формате.

Это рассматривается как:

{ "GlobalName": "CIRCULAR_GRATES_M01_METRIC", "LocalName": "Circular Grates M01" } 
1
Связано с SO: [константа Node.JS для новой строки для конкретной платформы?] (Http://stackoverflow.com/questions/10864486/node-js-constant-for-platform-specific-new-line) Ƭᴇcʜιᴇ007 8 лет назад 0

1 ответ на вопрос

4
Daniel B

Файл, скорее всего, содержит разрывы строк в UNIX ( \nв отличие от разрывов строк в Windows \r\n). Блокнот довольно тупой и поддерживает только последний.

Wordpad, с другой стороны, поддерживает оба. Это не шутка. ;)

Большинство «современных» редакторов поддерживают оба и позволяют преобразование между ними (и, возможно, разрывы строк в Mac).

С 2001 года разрывы строк в Mac OS X - это разрывы строк в Unix, `0x0a`, иначе` \ n`, иначе `LF`. (OS 9 и более ранние версии использовали `0x0d` aka` \ r` aka `CR`.) Arjan 8 лет назад 1