EOS/src/akkudoktoreos/class_numpy_encoder.py

26 lines
725 B
Python
Raw Normal View History

import json
2024-10-22 10:29:57 +02:00
import numpy as np
2024-10-22 10:29:57 +02:00
class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.ndarray):
return obj.tolist() # Convert NumPy arrays to lists
if isinstance(obj, np.generic):
return obj.item() # Convert NumPy scalars to native Python types
return super(NumpyEncoder, self).default(obj)
2024-10-22 10:29:57 +02:00
@staticmethod
def dumps(data):
"""
Static method to serialize a Python object into a JSON string using NumpyEncoder.
2024-10-22 10:29:57 +02:00
Args:
data: The Python object to serialize.
2024-10-22 10:29:57 +02:00
Returns:
str: A JSON string representation of the object.
"""
return json.dumps(data, cls=NumpyEncoder)