docstr: 从json文件中读取出 文本行的坐标和gt，字符的坐标和gt
  :param data_path:
  :return:
docstr_tok: ["\u4ecejson\u6587\u4ef6\u4e2d\u8bfb\u53d6\u51fa","\u6587\u672c\u884c\u7684\u5750\u6807\u548cgt\uff0c\u5b57\u7b26\u7684\u5750\u6807\u548cgt",":","param","data_path",":",":","return",":"]
code: def load_data(self, data_path: str) -> list:
      """
      从json文件中读取出 文本行的坐标和gt，字符的坐标和gt
      :param data_path:
      :return:
      """
      data_list = []
      for path in data_path:
          content = load(path)
          for gt in tqdm(
              content["data_list"], desc="read file {}".format(path)
          ):
              img_path = os.path.join(
                  content["data_root"], gt["img_name"]
              )
              polygons = []
              texts = []
              illegibility_list = []
              language_list = []
              for annotation in gt["annotations"]:
                  if (
                      len(annotation["polygon"]) == 0
                      or len(annotation["text"]) == 0
                  ):
                      continue
                  if (
                      len(annotation["text"]) > 1
                      and self.expand_one_char
                  ):
                      annotation["polygon"] = expand_polygon(
                          annotation["polygon"]
                      )
                  polygons.append(annotation["polygon"])
                  texts.append(annotation["text"])
                  illegibility_list.append(annotation["illegibility"])
                  language_list.append(annotation["language"])
                  if self.load_char_annotation:
                      for char_annotation in annotation["chars"]:
                          if (
                              len(char_annotation["polygon"]) == 0
                              or len(char_annotation["char"]) == 0
                          ):
                              continue
                          polygons.append(char_annotation["polygon"])
                          texts.append(char_annotation["char"])
                          illegibility_list.append(
                              char_annotation["illegibility"]
                          )
                          language_list.append(
                              char_annotation["language"]
                          )
              data_list.append(
                  {
                      "img_path": img_path,
                      "img_name": gt["img_name"],
                      "text_polys": np.array(polygons),
                      "texts": texts,
                      "ignore_tags": illegibility_list,
                  }
              )
      return data_list
  
imports: import pathlib
  import os
  import cv2
  import numpy
  import scipy.io
  from tqdm.auto import tqdm
  from base import BaseDataSet
  from utils import order_points_clockwise, get_datalist, load, expand_polygon
label_desc: Use image node_id 2 for calling the DetDataset obj's underlying member method code with example usage: obj.load_data(data_path) and returns: data_list