Доступ к полю в строке json с круглыми скобками - PullRequest
1 голос
/ 04 апреля 2019

Я выполняю mysql запросов с сервера node.js и получаю JSONs в результате запроса. Когда stringified они показывают поля, которые имеют круглые скобки в их имени.

Вот пример: [{"COUNT(*)":8}]. Как мне получить доступ к этому полю?

Мой код даже не запустится, если я включу скобки, и я получу неопределенное значение, если я их не использую.

Любая помощь в доступе к этому полю будет принята с благодарностью. Спасибо!

Ответы [ 3 ]

1 голос
/ 04 апреля 2019

Вы можете получить доступ к этому значению, используя обозначение массива:

let o = [{"COUNT(*)":8}];
console.log(o[0]['COUNT(*)']);

Если вы можете редактировать запрос, вы можете упростить его, добавив к нему псевдоним столбца:

SELECT COUNT(*) AS count ...

Тогда ваши данные будут выглядеть так:

[{count:8}]
0 голосов
/ 04 апреля 2019
var array = [{"COUNT(*)":8}];
var keys = Object.keys(array);

// from the above we can get all the array element object keys. Since here used single object I have used below length - 1. We can make a loop if has many.

var key_values = array[keys[keys.length - 1]];

// The first object key has got now the first object key value if needed.

var object_keys = Object.keys(key_values);
0 голосов
/ 04 апреля 2019

Мы говорим, что обращаемся к первому массиву [0] , а затем получаем доступ к значению ['COUNT(*)']. Это достигается с помощью другой записи.

let data = [{"COUNT(*)":8}];
console.log(data[0]["COUNT(*)"]);

// Or re-format it, but you did need to learn to access it.
let new_data = {'count': data[0]['COUNT(*)']};
console.log(new_data);
console.log(new_data.count)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...