【问题标题】:JMeter JSON Path Extractor expression issue while searching arrays搜索数组时出现 JMeter JSON 路径提取器表达式问题
【发布时间】:2017-03-30 02:05:03
【问题描述】:

我的HTTP请求返回一个类似于

的数组
[
{"id":"1", "data":"abc"},
{"id":"2", "data":"def"},
{"id":"3", "data":"ghi"}
]

作为 ForEach 控制器的输入,我尝试使用带有 $..id 路径表达式的 JSON 路径提取器将上述结果的 id 提取到一个数组中。 我期望得到类似于 ["1", "2","3"] 但我得到的输出是

ids=3
ids_matchNr=3

JSON 路径提取器似乎只匹配/提取最后一次出现的 id,而不是收集所有出现的 id 值并将它们添加到数组中。

相同的表达式和数据在 jsonpath.curiousconcept.com 中返回预期的 ["1", "2","3"] 结果数组,因此表达式似乎是正确的。

我做错了什么还是 JSON 路径提取器中的错误?

以下是一些用于小测试的屏幕打印

【问题讨论】:

    标签: json jmeter jmeter-plugins jsonpath


    【解决方案1】:

    我无法重现您的问题:

    1. JSON Extractor

    2. JSON Path Extractor

    因此请仔细检查您使用的是最新版本的 JMeter 和 JSON Path Extractor,后者可以使用 JMeter Plugins Manager 进行升级

    【讨论】:

    • 感谢@Dmitri-T 的快速回复。我在原始帖子中添加了一些我创建的测试的屏幕打印。我使用的 JMeter 版本是我昨天下载的全新安装。稍后将检查 JSON 路径提取器版本
    • 我安装了插件管理器并升级到最新的 JSON 路径提取器,但仍然得到相同的结果。您介意粘贴路径提取器设置的屏幕截图吗?
    • 将“匹配号码”设置为-1,您应该会得到想要的结果。以防万一查看JMeter's JSON Path Extractor Plugin - Advanced Usage Scenarios 文章
    • 天哪,就是这样!!!非常感谢。我一遍又一遍地阅读这篇文章,只有在 cmets 中有人提到 -1。无论如何,现在一切都好。
    猜你喜欢
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2015-10-27
    • 1970-01-01
    相关资源
    最近更新 更多