JavaScript | json в js
Тема закрыта by
mrDima
Причина: Проблема решена
Причина: Проблема решена
Есть json объект:
Я запрашиваю первую переменную таким образом:
Почему выдаёт значение undefined ? Объясните пожалуйста, я тупой
const json = { "один": "1", "два": "2", "три": "3" }
Я запрашиваю первую переменную таким образом:
console.log(json[0])
Почему выдаёт значение undefined ? Объясните пожалуйста, я тупой
mrDima , дело как раз в том что это объект, а не массив. В данном случае json[0] - вернет значение по ключу 0, который собственно и не определен, для обращения по индексу можно использовать Object.keys.
------
84334_json.png (4.4 Kb)
Скачиваний: 145
------
84334_json.png (4.4 Kb)
Скачиваний: 145
steel97 , Ещё одна проблема, названия переменных могут повторяться:
________
посл. ред. 08.11.2022 в 20:50; всего 2 раз(а); by mrDima
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}`);