apache / apache/jmeter

JSON : Switch from JsonSmartJsonProvider to JacksonJsonProvider

Open
#4,962 1 comment 0 reactions 0 assignees View on GitHub
enhancement os: All P2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.