class_docstr: A class for recording information associated with a job and its execution.
  
  Please keep this in sync with the JobsAPIInfo proto in src/ray/protobuf/gcs.proto.
docstr: Initialize this object from a JSON dictionary.
  
  Note that the runtime_env_json field is converted to a dictionary and
  the field is renamed to runtime_env.
  
  Args:
      json_dict: A JSON dictionary to use to initialize the JobInfo object.
docstr_tok: ["Initialize","this","object","from","a","JSON","dictionary",".","Note","that","the","runtime_env_json","field","is","converted","to","a","dictionary","and","the","field","is","renamed","to","runtime_env",".","Args",":","json_dict",":","A","JSON","dictionary","to","use","to","initialize","the","JobInfo","object","."]
code: def from_json(cls, json_dict: Dict[str, Any]) -> None:
      """Initialize this object from a JSON dictionary.
  
      Note that the runtime_env_json field is converted to a dictionary and
      the field is renamed to runtime_env.
  
      Args:
          json_dict: A JSON dictionary to use to initialize the JobInfo object.
      """
      # Convert enum values to enum objects.
      json_dict["status"] = JobStatus(json_dict["status"])
  
      # Convert runtime_env from a JSON-serialized string to a dictionary.
      if "runtime_env_json" in json_dict:
          if json_dict["runtime_env_json"] is not None:
              json_dict["runtime_env"] = json.loads(
                  json_dict["runtime_env_json"]
              )
          del json_dict["runtime_env_json"]
  
      return cls(**json_dict)
  
imports: import asyncio
  import json
  import time
  from dataclasses import dataclass, replace, asdict
  from enum import Enum
  from pathlib import Path
  from typing import Any, Dict, Optional, Tuple, Union
  from ray._private import ray_constants
  from ray._private.gcs_utils import GcsAioClient
  from ray._private.runtime_env.packaging import parse_uri
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 3 for calling the JobInfo obj's underlying member method code with example usage: obj.from_json(cls, json_dict) and returns: cls