Yoram created JXPATH-168:
----------------------------
Summary: Iterator on JSON skips nodes that have a "false" property
Key: JXPATH-168
URL: https://issues.apache.org/jira/browse/JXPATH-168
Project: Commons JXPath
Issue Type: Bug
Affects Versions: 1.3
Environment: Java 1.7
Reporter: Yoram
We have a JSON response, that has some properties that have a value of "false",
but other properties are OK. When iterating on all the nodes, the mentioned
ones are ignored.
See code below. When run, only the second node is printed. Changing the first
"false" to "true" causes the first node to be printed as well.
Is it a bug, or do we miss something in the format?
Thanks
public void testJXPathIssue() {
final String result = "{\"abc\":\"12:34\",\"vs\":[" +
"{\"p\": \"12\", \"a\": false}," +
"{\"p\": \"34\", \"a\": true}]}";
Reader reader = new StringReader(result);
Object obj = null;
try {
obj = JSONValue.parseWithException(reader);
CompiledExpression exp = JXPathContext.compile("./vs[*]");
JXPathContext xpathRootContext = JXPathContext.newContext(obj);
Iterator i = exp.iteratePointers(xpathRootContext);
while (i.hasNext()) {
Pointer item = (Pointer) i.next();
System.out.println("Item = " + item);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
--
This message was sent by Atlassian JIRA
(v6.2#6252)