我正在使用Java中的RestAssured框架,它的文档包含了这个备注
请注意,“JsonPath”语法使用Groovy的GPath表示法,不应与Jayway的JsonPath语法混淆。
我需要验证以下JSON:
"_source": {
"logSource": {
"logger.name": "LogbackLogger",
},
}选择器就像
_source.logSource.logger.name或
_source.logSource.logger.name[0]不返回结果。
我假设这是由于logger.name属性中的点所致。如果不执行转义操作,则logger.name将被解释为name位于logger下,这不是真的。
如何正确地转义GPath中的点字符,以便将logger.name视为单个属性名?
谢谢!
发布于 2017-06-08 12:04:43
你有个微不足道的问题。
只需将其封装在single quote (即'logger.name' )之间,因为其中有特殊的字符。
这里是完整的示例:
def string = """{ "_source": {
"logSource": {
"logger.name": "LogbackLogger",
}
}
}"""
def json = new groovy.json.JsonSlurper().parseText(string)
println json.'_source'.logSource.'logger.name'https://stackoverflow.com/questions/44433892
复制相似问题