Я не эксперт RegEx. Я пытаюсь понять, могу ли использовать RegEx для поиска блока данных из файла JSON.Как я могу использовать RegEx для извлечения данных в документе JSON
Мой Сценарий:
Я использую экземпляр AWS RDS с улучшенным мониторингом. Данные мониторинга отправляются в поток журнала CloudWatch. Я пытаюсь использовать данные, опубликованные в CloudWatch, для видимости в Log Log.
Проглатывание не представляет проблемы, я могу видеть данные в Loggly. Тем не менее, все сообщение содержится в одном большом поле blob. Содержимое поля - это документ JSON. Я пытаюсь выяснить, могу ли я использовать RegEx для извлечения только определенных частей документа JSON.
Вот образец экстракта из полезной нагрузки JSON Я использую:
{
"engine": "MySQL",
"instanceID": "rds-mysql-test",
"instanceResourceID": "db-XXXXXXXXXXXXXXXXXXXXXXXXX",
"timestamp": "2017-02-13T09:49:50Z",
"version": 1,
"uptime": "0:05:36",
"numVCPUs": 1,
"cpuUtilization": {
"guest": 0,
"irq": 0.02,
"system": 1.02,
"wait": 7.52,
"idle": 87.04,
"user": 1.91,
"total": 12.96,
"steal": 2.42,
"nice": 0.07
},
"loadAverageMinute": {
"fifteen": 0.12,
"five": 0.26,
"one": 0.27
},
"memory": {
"writeback": 0,
"hugePagesFree": 0,
"hugePagesRsvd": 0,
"hugePagesSurp": 0,
"cached": 505160,
"hugePagesSize": 2048,
"free": 2830972,
"hugePagesTotal": 0,
"inactive": 363904,
"pageTables": 3652,
"dirty": 64,
"mapped": 26572,
"active": 539432,
"total": 3842628,
"slab": 34020,
"buffers": 16512
},
Мой вопрос
Мой вопрос, могу ли я использовать регулярные выражения для извлечения, скажем подмножество документа? Например, загрузка процессора или память и т. Д.? Если это возможно, как мне написать RegEx? Если возможно, я могу использовать его для углубления в извлеченный документ, чтобы получить отдельные элементы данных.
Большое спасибо за помощь.
Если доступен парсер JSON, вы должны предпочесть его для ручного анализа с помощью регулярного выражения. –