Serializes an :obj:`astropy.coordinates.SkyCoord`, for JSONification.

    Args:
        o (:obj:`astropy.coordinates.SkyCoord`): :obj:`SkyCoord` to be serialized.

    Returns:
        A dictionary that can be passed to :obj:`json.dumps`.

def serialize_skycoord(o):
    """
    Serializes an :obj:`astropy.coordinates.SkyCoord`, for JSONification.

    Args:
        o (:obj:`astropy.coordinates.SkyCoord`): :obj:`SkyCoord` to be serialized.

    Returns:
        A dictionary that can be passed to :obj:`json.dumps`.
    """
    representation = o.representation.get_name()
    frame = o.frame.name

    r = o.represent_as('spherical')

    d = dict(
        _type='astropy.coordinates.SkyCoord',
        frame=frame,
        representation=representation,
        lon=r.lon,
        lat=r.lat)

    if len(o.distance.unit.to_string()):
        d['distance'] = r.distance

    return d