Skip to content

Commit dbbc639

Browse files
authored
Json Navigation: Use NULL as a placeholder. (#354)
1 parent 6082bab commit dbbc639

File tree

4 files changed

+6
-4
lines changed

4 files changed

+6
-4
lines changed

xpath-to-json-gson/src/main/java/com/github/simy4/xpath/gson/navigator/GsonNavigator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.github.simy4.xpath.navigator.Navigator;
2323
import com.google.gson.JsonArray;
2424
import com.google.gson.JsonElement;
25+
import com.google.gson.JsonNull;
2526
import com.google.gson.JsonObject;
2627
import com.google.gson.JsonPrimitive;
2728

@@ -181,7 +182,7 @@ private GsonByIndexNode prependToArray(
181182
parentArray.add(arrayElement);
182183
while (elementToCopy != arrayElement && i > 0) {
183184
arrayElement = parentArray.get(i - 1);
184-
parentArray.set(i, arrayElement);
185+
parentArray.set(i, JsonNull.INSTANCE);
185186
i -= 1;
186187
}
187188
return new GsonByIndexNode(i, parent);

xpath-to-json-jackson/src/main/java/com/github/simy4/xpath/jackson/navigator/JacksonNavigator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.fasterxml.jackson.databind.JsonNode;
1919
import com.fasterxml.jackson.databind.node.ArrayNode;
2020
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
21+
import com.fasterxml.jackson.databind.node.NullNode;
2122
import com.fasterxml.jackson.databind.node.ObjectNode;
2223
import com.fasterxml.jackson.databind.node.TextNode;
2324
import com.github.simy4.xpath.XmlBuilderException;
@@ -183,7 +184,7 @@ private JacksonByIndexNode prependToArray(
183184
parentArray.add(arrayNode);
184185
while (nodeToCopy != arrayNode && i > 0) {
185186
arrayNode = parentArray.get(i - 1);
186-
parentArray.set(i, arrayNode);
187+
parentArray.set(i, NullNode.instance);
187188
i -= 1;
188189
}
189190
return new JacksonByIndexNode(i, parent);

xpath-to-json-jakarta/src/main/java/com/github/simy4/xpath/json/navigator/JakartaJsonNavigator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ private JakartaJsonNode appendToArray(JakartaJsonNode parent, QName name, JsonAr
197197
private JakartaJsonByIndexNode prependToArray(
198198
JakartaJsonNode parent, JsonValue valueToCopy, JsonArray parentArray) {
199199
final int index = parentArray.indexOf(valueToCopy);
200-
parentArray = jsonProvider.createArrayBuilder(parentArray).add(index, valueToCopy).build();
200+
parentArray = jsonProvider.createArrayBuilder(parentArray).add(index, JsonValue.NULL).build();
201201
parent.set(jsonProvider, parentArray);
202202
return new JakartaJsonByIndexNode(index, parent);
203203
}

xpath-to-json-json/src/main/java/com/github/simy4/xpath/json/navigator/JsonJsonNavigator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ private JsonJsonByIndexNode prependToArray(
177177
parentArray.put(arrayElement);
178178
while (valueToCopy != arrayElement && i > 0) {
179179
arrayElement = parentArray.get(i - 1);
180-
parentArray.put(i, arrayElement);
180+
parentArray.put(i, JSONObject.NULL);
181181
i -= 1;
182182
}
183183
return new JsonJsonByIndexNode(i, parent);

0 commit comments

Comments
 (0)