protected static TestState fromJson(final String json) {
        try {
          JsonNode jsonObject = new ObjectMapper().readTree(json);

          Status status = valueOfDescription(jsonObject.get(JSON_STATUS).asText());
          List<String> jvmArguments = JsonUtil.toStringList(jsonObject.get(JSON_JVMARGUMENTS));

          return new TestState(status, jsonObject.get(JSON_STATUSMESSAGE).asText(),
              jsonObject.get(JSON_TIMESTAMP).asLong(), jsonObject.get(JSON_LOCATION).asText(),
              jsonObject.get(JSON_PID).asInt(), jsonObject.get(JSON_UPTIME).asLong(),
              jsonObject.get(JSON_WORKINGDIRECTORY).asText(), jvmArguments,
              jsonObject.get(JSON_CLASSPATH).asText(), jsonObject.get(JSON_GEMFIREVERSION).asText(),
              jsonObject.get(JSON_JAVAVERSION).asText(), jsonObject.get(JSON_LOGFILE).asText(),
              jsonObject.get(JSON_HOST).asText(), jsonObject.get(JSON_PORT).asText(),
              jsonObject.get(JSON_MEMBERNAME).asText());
        } catch (Exception e) {
          throw new IllegalArgumentException("Unable to create TestState from JSON: " + json);
        }
      }
Unit tests for {@link AbstractLauncher.ServiceState}. Tests marshalling of ServiceState to and
from JSON.

@since GemFire 7.0
geode-core/src/test/java/org/apache/geode/distributed/AbstractLauncherServiceStateTest.java