@Test
    public void testWithNanVariants() {
        TensorType x3 = TensorType.fromSpec("tensor(x[3])");
        String json = "{\"cells\":[" +
                      "{\"address\":{\"x\":\"0\"},\"value\":\"nan\"}," +
                      "{\"address\":{\"x\":\"1\"},\"value\":null}," +
                      "{\"address\":{\"x\":\"2\"},\"value\":\"+NaN\"}" +
                      "]}";
        var t = JsonFormat.decode(x3, json.getBytes(StandardCharsets.UTF_8));
        checkThreeNans(t);
        json = "['nan', null, '+NaN']";
        t = JsonFormat.decode(x3, json.getBytes(StandardCharsets.UTF_8));
        checkThreeNans(t);
        json = "{'type':'tensor(x[3])','values':['nan', null, '+NaN']}";
        t = JsonFormat.decode(x3, json.getBytes(StandardCharsets.UTF_8));
        checkThreeNans(t);
    }
All cell types are rendered as double.
vespajlib/src/test/java/com/yahoo/tensor/serialization/JsonFormatTestCase.java