Как получить значение из JSON?

Есть вот такой JSON
json = "{
nameEnglish: "name 1",
name: "имя 1",
},
{
nameEnglish: "name 2",
name: "имя 2",
},
{
nameEnglish: "name 3",
name: "имя 3",
}";


Как в JS/jQuery, зная nameEnglish, получить name? т.е. передать "name 3", а получить "имя 3".
  • Вопрос задан
  • 4071 просмотр
Решения вопроса 1
Wondermarin
@Wondermarin
Если JSON будет такого формата:
[
  {
    "nameEnglish": "name 1",
    "name": "имя 1"
  },
  {
    "nameEnglish": "name 2",
    "name": "имя 2"
  },
  {
    "nameEnglish": "name 3",
    "name": "имя 3"
  }
]


То тогда можно будет сделать так:
function getNameByEnglishName(englishName) {
  const el = json.find((el) => el.nameEnglish === englishName);

  return el.name;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
JSON некорректный
Если его заключить между '[]' - то получится вполне корректный json из которого извлечь искомое можно так:

json.filter(item => {return item.nameEnglish == 'name 3'})[0].name
Ответ написан
Комментировать
@n1ksON
мидл
Если у вас массив из объектов:
json.map(data => {
	if (data.nameEnglish === text) {
  	return data.name
  }
})

Если у вас JSON, сначала переведите его с помощью parse().
Ответ написан
Комментировать
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
Object.keys(json);
Object.values(json);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы