无法从嵌套JSON路径中提取数据

时间:2017-12-11 15:44:58

标签: json rest selenium-webdriver automated-tests

我是API自动化的新手。这是我的JSON结构。我想提取" LunId"来自所有3个阵列。路径在代码中提到。

JSON structure1
JSON expanded structure1

ERROR1:

When using "$" in the code

误差2:

When not using "$" in the code

@Test

public void getAllLuns(){   

Response resp = given().header("Authorization", "Bearer "+"ddnsdndnn22x");
                when().
                get("http://10.100.242.11/api/v1/luns");

String Name =  resp.                
               then().
               contentType(ContentType.JSON).
               extract().
               path("$..LunId").toString();

System.out.println("Lun Name is--->"+LunId);

我在线提取JSON路径提取器中的正确数据,但是在eclipse中运行时它给了我一个错误。问题在于道路。请帮忙,如何使用这些路径。 使用" $"时获取Error1-在路径和Error2不使用时。

1 个答案:

答案 0 :(得分:0)

这可以使用JSONPath Lib轻松完成

https://github.com/json-path/JsonPath

   public List<String> getLunIDNames() {

    return lunIDNamess = JsonPath.read("ValidJSON", "$..LunId[*].Name");

}

希望这有帮助