code: def from_json(cls, json_obj):
          
          if isinstance(json_obj, str):
              json_obj = json.loads(json_obj)
  
          time = None
          value = None
  
          if cls.TIME_FIELD_NAME in json_obj:
              time = json_obj[cls.TIME_FIELD_NAME]
          else:
              raise InvalidMetricError("{field} must be present!".format(
                  field=cls.TIME_FIELD_NAME))
  
          if cls.VALUE_FIELD_NAME in json_obj:
              value = json_obj[cls.VALUE_FIELD_NAME]
  
          return cls(time, value)
docs: Build a MetricResponse from JSON.
  
          :param json_obj: JSON data representing a Cube Metric.
          :type json_obj: `String` or `json`
          :throws: `InvalidMetricError` when any of {type,time,data} fields are
          not present in json_obj.