使用json path java从json中提取值

时间:2016-01-31 14:46:34

标签: jsonpath

我正在尝试编写一个json路径查询来从我的测试返回的json中提取值。我的样本json看起来像这样:

{
    "childNode1":{
    "name":"Node to be validated"
    },    
    "unusedNode":"Submitted",
    "childNode2":[
    {
    "tester2":"value to be tested against"
    }
    ]
}

如果childNode1中的tester2值与我的输入匹配,我想在childNode2中验证名称。如果childNode1值与我的输入匹配,如何在tester2中获取名称的值。

我尝试了以下json路径查询:

$..childNode2..tester2..childNode1..name

$..childNode2..tester2..name

但是只返回null值。

1 个答案:

答案 0 :(得分:0)

您可以使用以下jsonpath获取tester2的值:

String childNode2Value = jsonPath.get('$.childNode2..tester2')

if (childNode2Value.equals("your test input"))
{
 String childNode1Name = jsonPath.get('$.childNode1.name')
}

可以找到评估jsonPath的便捷方法here

可以看到jsonPath引用here