Skip to content

JsonMap.keys() paths are not escaped to enforce literal interpretation #57

@jbee

Description

@jbee

Many methods within JsonMap indirectly rely the paths (segments) returned by keys(). If such a path segment matches the conditions that have a special interpretation they will be misunderstood by the get(String) because they have to be taken literally.

For example, when a path is foo.{x}.bar the segments from splitting at . are foo, {x}, bar. {x} is then misunderstood as x because of the special syntax to "quote" member access by enclosing a path in curly braces.

Similar issues might surface in other API methods.

To circumvent this either any method returning a path must "escape" it to indicate literal interpretation or the special syntax needs to be adjusted to avoid such clashes in other ways.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions