INNER CODE UNIT · Python

_json_value

ok-oldking/ok-script · ok/ui/web/app.py:205

def _json_value(value: Any):
    if value is None or isinstance(value, (bool, int, float, str)):
        return value
    if dataclasses.is_dataclass(value):
        return _json_value(dataclasses.asdict(value))
    if isinstance(value, dict):
        return {str(key): _json_value(item) for key, item in value.items()}
    if isinstance(value, (list, tuple)):
        return [_json_value(item) for item in value]
    if hasattr(value, "shape") and hasattr(value, "dtype"):
        return {
            "type": value.__class__.__name__,
            "shape": list(value.shape),
            "dtype": str(value.dtype),
        }
    if hasattr(value, "name"):
        return {"name": str(value.name), "type": value.__class__.__name__}
    return str(value)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…