我不是RegEx專家。我想了解是否可以使用RegEx從JSON文件中查找數據塊。如何使用RegEx提取JSON文檔中的數據
我的情景:
我使用並加強監測的AWS RDS實例。監控數據正在發送到CloudWatch日誌流。我試圖使用CloudWatch中發佈的數據在日誌管理解決方案Loggly中可見。
攝取是沒有問題的,我可以看到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
},
我的問題
我的問題是,我可以使用正則表達式來提取,說該文件的一個子集?例如,CPU利用率或內存等?如果可能的話,我如何編寫RegEx?如果可能的話,我可以使用它深入到提取的文檔中以獲取單獨的數據元素。
非常感謝您的幫助。
如果有JSON解析器可用,則應該優先於使用正則表達式手動解析。 –