code: def get(cls, data, **kwargs):
          
  
          raw_data = data
          if isinstance(data, string):
              raw_data = Json.loads(data)
  
          try:
              kind = raw_data["type"].lower()
          except KeyError:
              raise ResultParseError("No type value was found in the JSON input")
  
          if kind == "ping":
              from .ping import PingResult
              return PingResult(raw_data, **kwargs)
          elif kind == "traceroute":
              from .traceroute import TracerouteResult
              return TracerouteResult(raw_data, **kwargs)
          elif kind == "dns":
              from .dns import DnsResult
              return DnsResult(raw_data, **kwargs)
          elif kind == "sslcert":
              from .ssl import SslResult
              return SslResult(raw_data, **kwargs)
          elif kind == "http":
              from .http import HttpResult
              return HttpResult(raw_data, **kwargs)
          elif kind == "ntp":
              from .ntp import NtpResult
              return NtpResult(raw_data, **kwargs)
          elif kind == "wifi":
              from .wifi import WiFiResult
              return WiFiResult(raw_data, **kwargs)
  
          raise ResultParseError("Unknown type value was found in the JSON input")
docs: Call this when you have a JSON result and just want to turn it into the
          appropriate Result subclass.  This is less performant than calling
          PingResult(json_string) directly however, as the JSON has to be parsed
          first to find the type.