Browse Source

Add support for trailing newline character in path to evaluate on a json

pull/1002/head
Abhishek Tiwari 11 months ago
parent
commit
e826b1763a
  1. 2
      json-path/src/main/java/com/jayway/jsonpath/internal/JsonContext.java
  2. 20
      json-path/src/test/java/com/jayway/jsonpath/Issue_1001.java

2
json-path/src/main/java/com/jayway/jsonpath/internal/JsonContext.java

@ -74,7 +74,7 @@ public class JsonContext implements DocumentContext {
@Override @Override
public <T> T read(String path, Predicate... filters) { public <T> T read(String path, Predicate... filters) {
notEmpty(path, "path can not be null or empty"); notEmpty(path, "path can not be null or empty");
return read(pathFromCache(path, filters)); return read(pathFromCache(path.trim(), filters));
} }
@Override @Override

20
json-path/src/test/java/com/jayway/jsonpath/Issue_1001.java

@ -0,0 +1,20 @@
package com.jayway.jsonpath;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat;
public class Issue_1001 {
@Test
public void testTrailingNewlineInPath() {
String context = "{\n" +
" \"level_0\": {\n" +
" \"level_1\": {\n" +
" \"level_2\": \"At level 2\"\n" +
" }\n" +
" }\n" +
"}";
String result = JsonPath.read(context, "$.level_0.level_1.level_2\n");
assertThat(result).isEqualTo("At level 2");
}
}
Loading…
Cancel
Save