{ } Raw JSON

bundles / astropy latest / astropy / utils / misc / JsonCustomEncoder

class

astropy.utils.misc:JsonCustomEncoder

source: /astropy/utils/misc.py :366

Signature

class   JsonCustomEncoder ( * skipkeys = False ensure_ascii = True check_circular = True allow_nan = True sort_keys = False indent = None separators = None default = None )

Members

Summary

Support for data types that JSON default encoder does not do.

Extended Summary

This includes:

  • Numpy array or number

  • Complex number

  • Set

  • Bytes

  • astropy.UnitBase

  • astropy.Quantity

Examples

import json
import numpy as np
from astropy.utils.misc import JsonCustomEncoder
json.dumps(np.arange(3), cls=JsonCustomEncoder)
Traceback (most recent call last):
  File "<doctest astropy.utils.misc:JsonCustomEncoder[0]>", line 1, in <module>
    json.dumps(np.arange(3), cls=JsonCustomEncoder)
    ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/json/__init__.py", line 242, in dumps
    **kw).encode(obj)
          ~~~~~~^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/json/encoder.py", line 202, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/json/encoder.py", line 263, in iterencode
    return _iterencode(o, 0)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/utils/misc.py", line 392, in default
    from astropy import units as u
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/__init__.py", line 13, in <module>
    from . import (
    ...<11 lines>...
    )
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/astrophys.py", line 12, in <module>
    from astropy.constants import si as _si
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/constants/__init__.py", line 27, in <module>
    from . import cgs, si
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/constants/cgs.py", line 7, in <module>
    from .config import codata, iaudata
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/constants/config.py", line 15, in <module>
    codata = importlib.import_module(".constants." + phys_version, "astropy")
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/constants/codata2018.py", line 9, in <module>
    from .constant import Constant, EMConstant
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/constants/constant.py", line 11, in <module>
    from astropy.units.quantity import Quantity
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/quantity.py", line 28, in <module>
    from .quantity_helper import can_have_arbitrary_unit, check_output, converters_and_unit
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/quantity_helper/__init__.py", line 16, in <module>
    from . import erfa, function_helpers, helpers, scipy_special
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/quantity_helper/function_helpers.py", line 1239, in <module>
    @function_helper  # np.in1d deprecated in not NUMPY_LT_2_0.
     ^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/astropy/units/quantity_helper/function_helpers.py", line 197, in __call__
    helps = getattr(module, f.__name__)
  File "/opt/hostedtoolcache/Python/3.14.5/x64/lib/python3.14/site-packages/numpy/__init__.py", line 792, in __getattr__
    raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
AttributeError: module 'numpy' has no attribute 'in1d'. Did you mean: 'int16'?

Aliases

  • astropy.utils.JsonCustomEncoder