JSON : Switch from JsonSmartJsonProvider to JacksonJsonProvider
- Dominant language
- Java
- Stars
- 9.5k
- Forks
- 2.3k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 5
Description
@pmouawad ([Bug 63035](https://bz.apache.org/bugzilla//show_bug.cgi?id=63035&redirect=false)):
JSON Smart default JSON provider of json-path is no more maintained.
We should switch to Jackson as underlying implementation:
Configuration.setDefaults(new Configuration.Defaults() {
private final JsonProvider jsonProvider = new JacksonJsonProvider();
private final MappingProvider mappingProvider = new JacksonMappingProvider();
@Override
public JsonProvider jsonProvider() {
return jsonProvider;
}
@Override
public MappingProvider mappingProvider() {
return mappingProvider;
}
@Override
public Set<Option> options() {
return EnumSet.noneOf(Option.class);
}
});
Reference docs:
- https://github.com/FasterXML/jackson
- https://github.com/json-path/JsonPath/blob/master/json-path/src/main/java/com/jayway/jsonpath/spi/json/JacksonJsonNodeJsonProvider.java
- https://github.com/json-path/JsonPath/blob/master/json-path/src/main/java/com/jayway/jsonpath/spi/json/JacksonJsonProvider.java
OS: All
Contributor guide
Research direction
The issue identifies Configuration.setDefaults(...) and the JacksonJsonProvider and JacksonMappingProvider entry points. Compare JMeter's current JSON Smart setup with the linked JsonPath Jackson provider examples, then verify that the default JSON and mapping providers use Jackson.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100