Excel VBA中如何统计JSON数组motTests下defects里的dangerous项数量
在VBA中统计JSON里motTests.defects中"dangerous"项的数量
你获取到的JSON响应中,motTests是一个数组,目标元素的defects数组包含多个缺陷项,每个项带有dangerous属性。直接用.Count只能得到总项数,要统计dangerous为True的项的数量,需要遍历数组逐一判断:
实现步骤
- 定位到目标
motTests元素下的defects数组 - 遍历数组中的每个缺陷项
- 检查每个项的
dangerous属性值,符合条件则累加计数
示例代码
Dim jsonObj As Object Dim targetMotTest As Object Dim defectsArr As Object Dim singleDefect As Object Dim dangerousCount As Integer ' 假设已将JSON解析到jsonObj对象中 Set targetMotTest = jsonObj("motTests")(2) ' 根据你的JSON结构调整索引,VBA数组通常从1开始 Set defectsArr = targetMotTest("defects") dangerousCount = 0 ' 遍历所有缺陷项 For Each singleDefect In defectsArr ' 若dangerous为布尔值True If singleDefect("dangerous") = True Then dangerousCount = dangerousCount + 1 End If ' 若dangerous是字符串类型(比如"true"),则替换为: ' If singleDefect("dangerous") = "true" Then Next singleDefect ' 查看结果 Debug.Print "dangerous项的数量:" & dangerousCount
注意事项
- 确认
motTests的索引是否正确,确保指向包含目标defects的元素 - 根据JSON中
dangerous的实际数据类型(布尔值/字符串)调整判断条件
内容的提问来源于stack exchange,提问作者Mick
相关产品推荐
相关产品推荐

