@Test void readSpan_localEndpoint_noServiceName() {
    String json =
        """
        {
          "traceId": "6b221d5bc9e6496c",
          "name": "get-traces",
          "id": "6b221d5bc9e6496c",
          "localEndpoint": {
            "ipv4": "127.0.0.1"
          }
        }
        """;

    assertThat(SpanBytesDecoder.JSON_V1.decodeOne(json.getBytes(UTF_8)).localServiceName())
        .isNull();
  }
Particular, thrift can mistake malformed content as a huge list. Let's not blow up.
zipkin/src/test/java/zipkin2/codec/V1SpanBytesDecoderTest.java