commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yoram (JIRA)" <>
Subject [jira] [Created] (JXPATH-168) Iterator on JSON skips nodes that have a "false" property
Date Mon, 02 Jun 2014 10:59:01 GMT
Yoram created JXPATH-168:

             Summary: Iterator on JSON skips nodes that have a "false" property
                 Key: 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?

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);
                System.out.println("Item = " + item);
        } catch (IOException e) {
        } catch (ParseException e) {

This message was sent by Atlassian JIRA

View raw message