Разбор псевдо-JSON

У меня есть такой код (не могу изменить его природу), и я хочу разбить его, чтобы получить доступ к данным в стиле JSON.

product:{
    name:[
      {
        language:"en_US",
        value:"Apocalypse Now"
      }
    ],
    description:[
      {
        language_tag:"en_US",
        value:"Good!"
      }
    ]
}

Поэтому я хотел бы получить к нему доступ как product.name.value.

Я пробовал разные решения Regexp, так как это не настоящий JSON (среди прочего, отсутствуют кавычки), но я не могу сделать его достаточно прочным, чтобы изолировать информацию должным образом.

Любая помощь приветствуется

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
27
1

Ответы 1

Регулярные выражения не подходят. Вы не можете разобрать язык программирования с помощью регулярных выражений. Ваши реалистичные варианты

  • eval (нормально, если ввод надежен и производительность не является проблемой)
  • полноценный парсер Javascript: esprima
  • парсер javascript-to-json (мой): litr

Спасибо за ответ. Однако я понял, что, заменив «product:» ничем и используя его как переменную, он окажется действительным объектом Javascript, поэтому я могу получить к нему доступ. Однако я подробно расскажу о ресурсах, которые вы мне предоставили.

Andre Retro Pie 31.03.2021 10:45

@AndreRetroPie: ах, ладно. Я истолковал ваш вопрос так, как будто у вас есть строка с таким содержанием. Если это настоящий javascript, ответ не применим.

georg 31.03.2021 11:08

Хорошо, но другой вопрос: если это строка, как преобразовать ее в реальный объект? JSON Parse не будет работать с этим

Andre Retro Pie 31.03.2021 13:33

Если это строка, то должна работать одна из перечисленных мною опций.

georg 31.03.2021 13:55

Другие вопросы по теме