json ошибка ncaught SyntaxError

Не могу получить значение. data4.users.User1, пишет ошибку

let json4 ='{"users":{"User1":{"key1":"value1","key2":"value2"}},{"User2":{"key1":"value1","key2":"value2"}}}';

let data4 = JSON.parse(json4);
console.log(data4.users.User1);

Ответы (2 шт):

Автор решения: Алексей Шиманский

Невалидный Json. Сделайте его валидным.

Для начала закиньте своё произведение искусства в какой-либо онлнайн парсер, например https://jsonformatter.curiousconcept.com/# и посмотрите что не так. Затем исправьте, чтобы был валидным


А вместо того, чтобы сразу писать json в одну строку - проще вначале сформировать нужный объект, а потом сделать JSON.stringify. Тогда и JSON будет валидным

let test = {
  user: 123,
  name: 'haha',
  what: {
        some: 234,
        hi: 'hi'
    }
}


testString = JSON.stringify(test);
console.log(testString);

Если на стороне сервера, например PHP, то формирование json делается через json_encode

→ Ссылка
Автор решения: Simon

У Вас не валидный JSON. Должно быть:

let json4 ='{"users":{"User1":{"key1":"value1","key2":"value2"},"User2":{"key1":"value1","key2":"value2"}}}';

let data4 = JSON.parse(json4);
console.log(data4.users.User1);

→ Ссылка