Во-первых, я очень новичок в node / JSON, поэтому, пожалуйста, примите это во внимание при чтении.
Целью этого кода является получение данных из базы данных SQL Server и возможность доступа к элементам, которые он извлекает. Например, он получит несколько тысяч идентификаторов учетных записей парентных учетных записей, и я просто хочу получить доступ к одному из них.
Я просматриваю форумы почти весь день, пытаясь получить доступ к элементам JSON из моей функции nodejs, и каждый раз, когда я пытаюсь получить доступ к одному из этих элементов, у меня появляется ошибка "undefined". В крайнем случае я здесь.
Я проверил несколько раз, чтобы увидеть, что набор записей был проанализирован, и кажется, что он анализируется.
Ниже приведен мой код, и очень маленький пример кода JSON подходит к концу.
Я прокомментировал, где я получаю свою ошибку.
function getEmp() {
var conn = new sql.ConnectionPool(dbConfig);
var req = new sql.Request(conn);
conn.connect(function (err) {
if (err) {
console.log(err);
return;
}
req.query("SELECT * FROM parentaccount Where accountname like 'Titan%' FOR JSON PATH", function (err, recordset) {
if (err) {
console.log(err);
}
else {
const Test1 = recordset[0].ParentAccountId; //error here
console.log(Test1);
}
conn.close();
})
})
}
getEmp();
//EXAMPLE JSON
{ recordsets: [ [ [Object] ] ],
recordset:
[ { 'JSON_F52E2B61-18A1-11d1-B105-00805F49916B':
'[{"ParentAccountId":4241411,"AccountName":"Titan"} ],
output: {},
rowsAffected: [ 3 ] }
ERROR:
TypeError: Cannot read property 'ParentAccountId' of undefined
at C:\Users\za47387\Desktop\Excel Export Code\test2.js:31:48
at _query (C:\Users\za47387\node_modules\mssql\lib\base.js:1347:9)
at Request.tds.Request.err [as userCallback] (C:\Users\za47387\node_modules\mssql\lib\tedious.js:671:15)
at Request.callback (C:\Users\za47387\node_modules\tedious\lib\request.js:37:27)
at Connection.endOfMessageMarkerReceived (C:\Users\za47387\node_modules\tedious\lib\connection.js:2104:20)
at Connection.dispatchEvent (C:\Users\za47387\node_modules\tedious\lib\connection.js:1084:36)
at Parser.tokenStreamParser.on (C:\Users\za47387\node_modules\tedious\lib\connection.js:914:14)
at Parser.emit (events.js:189:13)
at Parser.parser.on.token (C:\Users\za47387\node_modules\tedious\lib\token\token-stream-parser.js:27:14)
at Parser.emit (events.js:189:13)