【问题标题】:JSON path evaluationJSON路径评估
【发布时间】:2020-11-20 02:08:24
【问题描述】:

在 json 响应中给定此节点:

 {
  "name": "RFM912Feilkode",
  "valueCodeableConcept": {
    "coding": [
      {
        "system": "http://xxx/error-code",
        "code": "0"
      }
    ],
    "text": "OK"
  }

我想使用 Scala 语法验证 Gatling 中是否存在文本“OK”。

一些东西(伪代码):

  .check(jsonPath("$..valueCodeableConcept.text").is("OK"))

但这不起作用。关于如何“命中” OK 值并检查它是否存在的任何提示?

【问题讨论】:

    标签: json extract gatling


    【解决方案1】:

    您的 json 无效。缺少大括号。

    我试过了,一切正常:

    .check(jsonPath("$.valueCodeableConcept.text").is("OK"))
    

    【讨论】:

    • json 很大,所以我只是粘贴了一点。但是,如果我想通过使用系统名称作为选择器来指定这些节点中的每一个,该怎么做呢? { "name": "KJFeilkode", "valueCodeableConcept": { "coding": [ { "system": "xxx/sfm-kj-rf-error-code", "code": "0" } ], "text": "OK" } }, {“名称”:“RFM96Feilkode”,“valueCodeableConcept”:{“编码”:[{“系统”:“yyy/sfm-kj-rf-error-code”,“代码”:“0”}],“文本”:“OK”}跨度>
    • 这行得通,但我想要 2 个检查,每个 url 一个。 .check(jsonPath("$..valueCodeableConcept.text").is("OK"))
    • 那我怎么说“检查文本对于 system=xxx/sfm-kj-rf-error-code 和 system=yyy/sfm-kj-rf-error-code 的值是否正常
    【解决方案2】:

    如果您想根据 json 中的其他元素提取一些 json(您似乎在其他答案的 cmets 中得到了什么),那么您可以在 jsonPath 中使用过滤器,例如

    $.[?(@.name=="RFM912Feilkode")].valueCodeableConcept.text
    

    这将为您提供来自valueCodeableConcepttext 元素,其中关联的nameRFM912Feilkode

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      相关资源
      最近更新 更多