Loading...
JavaScript | json в js
Есть json объект:
const json = { "один": "1", "два": "2", "три": "3" }


Я запрашиваю первую переменную таким образом:
console.log(json[0])


Почему выдаёт значение undefined ? Объясните пожалуйста, я тупой*DASH*
mrDima , дело как раз в том что это объект, а не массив. В данном случае json[0] - вернет значение по ключу 0, который собственно и не определен, для обращения по индексу можно использовать Object.keys.

Изображение

------
84334_json.png (4.4 Kb)
Скачиваний: 177
steel97 , Спасибо!
steel97 , Ещё одна проблема, названия переменных могут повторяться:
const json = { "один": "1", "один": "2", "два": "3", "два": "4", "три": "5", "три": "6" }

________
посл. ред. 08.11.2022 в 20:50; всего 2 раз(а); by mrDima
🤦♂
mrDima , это уже немного странно, ключи на то и ключи, что бы быть уникальными. По идее здесь изначально надо было массив делать
const json = [{ "один": "1"}, {"один": "2"}, {"два": "3"}, {"два": "4"}, {"три": "5"}, {"три": "6" }]

в таком случае можно по индексу получить нужный результат
const element = json[0]
const elementFK = Object.keys(element)[0]
console.log(`${elementFK} = ${element[elementFK]}`);

Ещё можно сделать примерно так:
const json = [{"key": "один", "value": "1"}, {"key": "один", "value": "2"}, {"key": "два", "value": "3"}, {"key": "два", "value": "4"}]
console.log(`${json[0].key} = ${json[0].value}`);
Онлайн: 4
Время:
Gen. 0.0921
(c) ByMAS.RU 2010-2025