@Override
        public Path deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
            final JsonNode n = jsonParser.readValueAsTree();
            final Path p = MutablePath.make();

            final ArrayNode labels = (ArrayNode) n.get(GraphSONTokens.LABELS);
            final ArrayNode objects = (ArrayNode) n.get(GraphSONTokens.OBJECTS);

            for (int i = 0; i < objects.size(); i++) {
                final JsonParser po = objects.get(i).traverse();
                po.nextToken();
                final JsonParser pl = labels.get(i).traverse();
                pl.nextToken();
                p.extend(deserializationContext.readValue(po, Object.class), deserializationContext.readValue(pl, setType));
            }

            return p;
        }
Maps in the JVM can have {@link Object} as a key, but in JSON they must be a {@link String}.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONSerializersV2.java