выпарсить json
-
Всем привет.
Пришел ответ от get запроса
{"message":{"error":"tytTEXTzzzz"},"error_code":"490"}
как регуляркой выпарсить TEXT . вставляю в регулярку (?<=tyt).*(?=zzzz) - не работает
и как-то десериализовать весь ответ в какой-нибудь список/словарь чтобы обращаться по индексам?
-
@biohan в выполнить код
VAR_SAVED_CONTENT = JSON.parse(VAR_SAVED_CONTENT)
получите словарь
-
Спасибо. А как выпарсить TEXT не подскажите?
-
@biohan конструировать регулярки можно тут https://bablosoft.github.io/RegexpConstructor/
При этом почитать немного про регулярки, например, понять что + в данной конструкции(7495[0-9]+)
означает любое количество символов от 0 до 9
Проверяю регулярки я тут https://regex101.com/
-
@romanbiz Это понятно
я про мой случай. c js не работал
в notepad++ (?<=tyt).*(?=zzzz) работает
как заставить это работать в js?
-
@biohan Вы делаете через Регулярные выражения- Извлечь все данные?
-
@romanbiz первое вхождение
Но хотя бы чтобы тут https://regexr.com/ заработало
-
@biohan Вот составил свой вариант
\{"message":\{"error":"tyt([^\.]+)zzzz"\}\,"error_code":"490"\}
-
@romanbiz спасибо
но мне нужен аналог (?<=tyt).*(?=zzzz)
-
@biohan А чем конкретно не устраивает?
Например, такоеtyt(.*)zzzz
-
@biohan Мой вам совет, лучше используйте JSON.parse, чем регулярки. Нагрузку на сервер сильно уменьшите.
Экшен выполнить код:var json2 = JSON.parse([[SAVED_CONTENT]]) [[TEST]] = json2.message.error
В переменной [[TEST]] и будет tytTEXTzzzz
Ну или если нужна именно регулярка, то подойдёт вот такая:
error":"(.*?)"