Прежде всего, приведенный вами пример (где каждая строка является строкой, представляющей объект JSON) не является файлом JSON.
Это файл, содержащий несколько строк в формате JSON, по одной на строку.
Без окружающего массива неудивительно, что вы не можете его проанализировать.
Я также не уверен, что вы подразумеваете под данными, хранящимися в буфере.
Вы имеете в виду, что вы прочитали содержимое файла, используя стандартный fs.readfile()
или вариант?
Если это так, вам необходимо преобразовать Buffer
, возвращенный из вашего файла чтения, в String
, как в:
var contents = fs.readfileSync(FILEPATH).toString()
Как только вы это сделаете, вы можете создать массив, используя содержимое вашего файла, и преобразовать результат в строку в формате JSON, используя:
fs.readfile(FILEPATH, (err, buf) => {
if (err) {
throw err
}
let objAry = []
buf.toString().split(/\r?\n/).forEach( line => {
objAry.push(JSON.parse(line))
})
let jsonStr = JSON.stringify(objAry)
// do something with the result string
// possibly sending it as a response to an API
// request as ‘Content-Type: application/json’
})
Очевидно, вы захотите добавить к этому обработку ошибок (try / catch).