@ojiekcahdp

Как найти строку и значение этой строки в JSON?

Я хочу сделать проверку файла JSON, там найти строку "nick" у всех пользователей, и сделать так:
(if(nick = "хай") return)
то есть, если у кого-то из участников nick = хай, то ничего не выполнялось, как из всего JSON найти значение nick = хай, или можно сделать проще?
Вот мой JSON:
{
		"id": 124124,
		"firstname": "Районный",
		"lastname": "Прокурор",
		"warns": 0,
		"role": 11,
		"flip": 0,
		"rank": "Участник",
		"ban": false,
		"isBanned": "Нет",
		"tempban": 0,
		"mute": 0,
		"mutesleft": 0,
		"violations": 0,
		"botmute": 0,
		"nick": "хай"
	},
	{
		"id": 123123,
		"firstname": "Кто",
		"lastname": "Никто",
		"warns": 0,
		"role": 11,
		"flip": 0,
		"rank": "Участник",
		"ban": false,
		"isBanned": "Нет",
		"tempban": 0,
		"mute": 0,
		"mutesleft": 0,
		"violations": 0,
		"botmute": 0
		"nick": "пока"
	},
	{
		"id": 125125,
		"firstname": "Крутой",
		"lastname": "Поц",
		"warns": 0,
		"role": 1,
		"flip": 0,
		"rank": "Участник",
		"ban": false,
		"isBanned": "Нет",
		"tempban": 0,
		"mute": 0,
		"mutesleft": 0,
		"violations": 0
		"nick": "привет"
	}
  • Вопрос задан
  • 2621 просмотр
Решения вопроса 1
Tim-A-2020
@Tim-A-2020
const json = `[{"id":124124,"firstname":"Районный","lastname":"Прокурор","warns":0,"role":11,"flip":0,"rank":"Участник","ban":false,"isBanned":"Нет","tempban":0,"mute":0,"mutesleft":0,"violations":0,"botmute":0,"nick":"хай"},{"id":123123,"firstname":"Кто","lastname":"Никто","warns":0,"role":11,"flip":0,"rank":"Участник","ban":false,"isBanned":"Нет","tempban":0,"mute":0,"mutesleft":0,"violations":0,"botmute":0,"nick":"пока"},{"id":125125,"firstname":"Крутой","lastname":"Поц","warns":0,"role":1,"flip":0,"rank":"Участник","ban":false,"isBanned":"Нет","tempban":0,"mute":0,"mutesleft":0,"violations":0,"nick":"привет"}]`;

const data = JSON.parse(json);

function findNick(arr, nick) {
  const res = arr.find(i => i.nick == nick);
  if (res) return;
  return arr;
}
console.log(findNick(data, 'хай'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Это не JSON - не хватает обрамляющих '[' и ']'.
Просто превращаем строку, содержащую JSON, в массив JavaScript и проходимся циклом по этому массиву:
for (let e of JSON.parse('здесь должен быть JSON-массив')) {
  if (e.nick == 'хай') { return; }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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