code: def convert_specific_columns_to_json(rows, columns, json_cols):
      json_cols = set(json_cols)
      if not json_cols.intersection(columns):
          return rows
      new_rows = []
      for row in rows:
          new_row = []
          for value, column in zip(row, columns):
              if column in json_cols:
                  try:
                      value = json.loads(value)
                  except (TypeError, ValueError) as e:
                      pass
              new_row.append(value)
          new_rows.append(new_row)
      return new_rows
  
imports: import json
  from datasette.utils import value_as_boolean, remove_infinites, CustomJSONEncoder, path_from_row_pks, sqlite3
  from datasette.utils.asgi import Response
label_desc: Use image node_id 1 for calling a global function with example usage: convert_specific_columns_to_json(rows, columns, json_cols) and returns: new_rows, rows