json - 使用 json 解析器或正则表达式从 JSON 中提取值
问题描述
我有以下 JSON:
{
"c": {
"21969": {
"name": "TC",
"status": "completed",
"result": {
"count": 421
},
"identifier": "column1"
}
},
"analyses": {
"1": {
"name": "test",
"status": "completed",
"result": {
"21969": {
"status": "completed",
"result": {
"columnDefs": [{
"headerName": "RD",
"field": "d_c"
}, {
"headerName": "LN",
"field": "l_n"
}, {
"headerName": "Count",
"field": "count"
}, {
"headerName": "% ",
"field": "percent"
}, {
"headerName": "os",
"field": "os"
}],
"rowData": [{
"d_c": "Total",
"line_number": 1,
"count": 869,
"sub_header": true
}, {
"d_c": "test01",
"l_n": "1",
"count": 356,
"percent": "40.97 %",
"os": "17.45"
}, {
"drug_combo": "test02",
"l_n": "2",
"count": 61,
"percent": "7.02 %",
"os": "29.75 (22.88 - 42.48)"
}
]
}
}
}
}
}
}
我想获取仅存在于这两个块中的计数值:
{
"d_c": "test01",
"l_n": "1",
"count": 356,
"percent": "40.97 %",
"os": "17.45"
}, {
"drug_combo": "test02",
"l_n": "2",
"count": 61,
"percent": "7.02 %",
"os": "29.75 (22.88 - 42.48)"
}]
例如,我已经尝试过$count..
,但它给出了所有的计数值,例如 421,869,356,61,同样$l_n..
给出了 1,1,2。预期结果: - 只想获取 356 和 61 进行计数。对于 l_n 只想获取 1,1。
谁可以帮我这个事?
解决方案
由于您的响应包含多个名为“count”的节点,因此您必须更加精确。
在 JMeter 中,JSON 提取器允许您指定匹配号:
如果 JSON 路径查询导致许多结果,您可以选择提取哪些作为变量
或者,类似的东西$.analyses..rowData[1].count
应该给你“test01”的“计数”值。同样$.analyses..rowData[2].count
应该给你“test02”的“计数”值。
推荐阅读
- python - 类对象被误认为是 int
- python - 如何从python中的文本文件制作嵌套字典?
- javascript - 无法使用 formik 在 material-ui 中更改我的文本字段值
- java - 无法在 Android Studio 中选择 Java
- cassandra - 无法连接到 cassandra 中的端口
- javascript - 在这种特殊情况下,我如何存根类
- r - 当ggplot2中的stat ='count'时如何手动更改条形图的填充颜色
- windows - 调试进程死锁(LdrpDrainWorkQueue/LdrpLoadCompleteEvent)
- php - 数据导出后如何在 WordPress 中显示来自 Caldera 表单插件的评分?
- c++ - 有没有办法在没有root的情况下在linux中制作键盘记录器?