Я пытаюсь получить пример файла json, используя fs.readFile и fs.read в nodejs.Это тестовый файл json, который я читаю
{
"HttpTestResponse":
[
{
"title":"testTitle2",
"id": 2,
"name":"testName3",
"testArray":[{"testProp1":"testPropVal2","testProp2":"testPropVal_2"}]
},
{
"title":"testTitle3",
"id": 3,
"name":"testName3",
"testArray":[{"testProp1":"testPropVal3","testProp2":"testPropVal_3"}]
}
]
}
Это пример функции (я использую машинопись с nodejs для более строгой типизации)
getJSONFromFile(paramId) {
let obj: HttpTestModel[];
fs.exists(this.resolvedUrl, exists => {
if (exists) {
fs.readFile(this.resolvedUrl, 'utf-8', (err, data) => {
if (err) {
this.pino.info('error while reading the file', err);
} else {
this.pino.info('data', JSON.parse(data));
// tslint:disable-next-line:one-variable-per-declaration
// tslint:disable-next-line:prefer-const
// tslint:disable-next-line:one-variable-per-declaration
obj = JSON.parse(data);
this.pino.info('plain data', data);
this.pino.info('data in parseJSON', parseJson(data));
}
});
}
});
}
Это вывод, который яполучить.Я использую модуль Pino и, следовательно, вывод имеет некоторые уровни по умолчанию и временные метки
{"level":30,"time":1550563397320,"msg":"plain data {\r\n \"HttpTestResponse\":\r\n [\r\n
{ \r\n \"title\":\"testTitle2\",\r\n \"id\": 2,\r\n \"name\":\"testName3\",\r\n \"testArray\":[{\"testProp1\":\"testPropVal2\",\"testProp2\":\"testPropVal_2\"}]\r\n
},\r\n {\r\n \"title\":\"testTitle3\",\r\n \"id\": 3,\r\n \"name\":\"testName3\",\r\n \"testArray\":[{\"testProp1\":\"testPropVal3\",\"testProp2\":\"testPropVal_3\"}]\r\n }\r\n ]\r\n \r\n \r\n}","pid":21212,"hostname":"INDV072294","v":1}
{"level":30,"time":1550563397321,"msg":"stringifed data {\r\n \"HttpTestResponse\":\r\n [\r\n
{ \r\n \"title\":\"testTitle2\",\r\n \"id\": 2,\r\n \"name\":\"testName3\",\r\n \"testArray\":[{\"testProp1\":\"testPropVal2\",\"testProp2\":\"testPropVal_2\"}]\r\n },\r\n {\r\n \"title\":\"testTitle3\",\r\n \"id\": 3,\r\n
\"name\":\"testName3\",\r\n \"testArray\":[{\"testProp1\":\"testPropVal3\",\"testProp2\":\"testPropVal_3\"}]\r\n }\r\n ]\r\n \r\n \r\n}","pid":21212,"hostname":"INDV072294","v":1}
{"level":30,"time":1550563397322,"msg":"data in parseJSON {\"HttpTestResponse\":[{\"title\":\"testTitle2\",\"id\":2,\"name\":\"testName3\",\"testArray\":[{\"testProp1\":\"testPropVal2\",\"testProp2\":\"testPropVal_2\"}]},{\"title\":\"testTitle3\",\"id\":3,\"name\":\"testName3\",\"testArray\":[{\"testProp1\":\"testPropVal3\",\"testProp2\":\"testPropVal_3\"}]}]}","pid":21212,"hostname":"INDV072294","v":1}
Я также пытался использовать модуль parse-json, но ничто не помогает мне с выводом, который я хочу.Я хотел бы, чтобы в качестве выходных данных использовался объект JSON, а не строка, поэтому я мог бы сохранить его, повторить и отфильтровать желаемые результаты
Может ли кто-нибудь помочь мне в этом?