json_utils.py 478 B

1234567891011121314151617
  1. # Copyright (c) Alibaba, Inc. and its affiliates.
  2. import json
  3. import numpy as np
  4. class EnhancedEncoder(json.JSONEncoder):
  5. """ Enhanced json encoder for not supported types """
  6. def default(self, obj):
  7. if isinstance(obj, np.integer):
  8. return int(obj)
  9. elif isinstance(obj, np.floating):
  10. return float(obj)
  11. elif isinstance(obj, np.ndarray):
  12. return obj.tolist()
  13. return json.JSONEncoder.default(self, obj)