簡體   English   中英

如何使用加特林JsonPath.query從JSON字符串中檢索值?

[英]How do I retrieve a value from a JSON string using gatling JsonPath.query?

給定一個字符串:

val json = """{"id":"derp"}"""

當我嘗試使用JsonPath檢索ID的值時,我得到了空的迭代器

import io.gatling.jsonpath.JsonPath

JsonPath.query("$.id", json).right.get
// Iterator[Any] = empty iterator

如何獲得id的值?

盡管JsonPath.query的第二個arg的類型是Any ,但此函數似乎不支持多種類型的參數。 它不會解析輸入字符串,但是希望它已經被解析。 作為設計選擇看起來有些奇怪。

因此,假設將Jackson用作解析器庫,則將執行以下操作並選擇id鍵下的值:

val json = """{"id":"derp"}"""
val parsed = new ObjectMapper().readValue(json, classOf[Object])

// to retrieve the ids as a list:
val ids = JsonPath.query("$.id", parsed).right.get.toList

// the only "id" result of the query
val id = ids.head

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM