Skip to content

Commit d9bdd92

Browse files
committed
Merge branch 'develop'
2 parents cc81149 + 1933918 commit d9bdd92

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<modelVersion>4.0.0</modelVersion>
1010
<artifactId>serialization</artifactId>
11-
<version>0.2.3</version>
11+
<version>0.2.4</version>
1212
<name>Serialization</name>
1313
<packaging>jar</packaging>
1414

src/main/java/info/unterrainer/commons/serialization/jsonmapper/JsonMapper.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ public <T> String toStringFrom(final T sourceObject) {
7373
}
7474
}
7575

76+
public String toStringFrom(final JsonNode root) {
77+
try {
78+
return objectMapper.writeValueAsString(root);
79+
} catch (JsonProcessingException e) {
80+
throw new info.unterrainer.commons.serialization.jsonmapper.exceptions.JsonProcessingException(
81+
e.getMessage(), e);
82+
}
83+
}
84+
7685
public <T> T fromStringTo(final Class<T> targetClass, final String sourceJson) {
7786
try {
7887
return objectMapper.readValue(sourceJson, targetClass);

src/test/java/info/unterrainer/commons/serialization/jsonmapper/JsonMapperTests.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import com.fasterxml.jackson.core.JsonProcessingException;
1010
import com.fasterxml.jackson.databind.JsonMappingException;
11+
import com.fasterxml.jackson.databind.JsonNode;
12+
import com.fasterxml.jackson.databind.node.ObjectNode;
1113

1214
import info.unterrainer.commons.serialization.jsonmapper.jsons.ChildJson;
1315
import info.unterrainer.commons.serialization.jsonmapper.jsons.MediolaDatagramJson;
@@ -86,4 +88,14 @@ public void traversingArrayWorks() throws JsonMappingException, JsonProcessingEx
8688
assertThat(mapper.traverse(s, "array.#0.name")).isEqualTo("Gerald");
8789
assertThat(mapper.traverse(s, "array.#1.name")).isEqualTo("Günter");
8890
}
91+
92+
@Test
93+
public void manipulatingTreeWorks() throws JsonMappingException, JsonProcessingException {
94+
String s = "{\"array\": [{\"name\":\"Gerald\"},{\"name\":\"Günter\"}]}";
95+
JsonNode r = mapper.toTreeFrom(s);
96+
((ObjectNode) r).put("test", "testval");
97+
String str = mapper.toStringFrom(r);
98+
99+
assertThat(str).isEqualTo("{\"array\":[{\"name\":\"Gerald\"},{\"name\":\"Günter\"}],\"test\":\"testval\"}");
100+
}
89101
}

0 commit comments

Comments
 (0)