def perceel_adapter(obj, request=None):
    """
    Adapter for rendering
    :class:`oe_geoutils.data.models.Perceel` to json.

    Add the adapter to `jsonpublish`
    from jsonpublish import register_adapter
    register_adapter(Perceel, perceel_adapter)

    Add the adapter to your :class:`pyramid.renderers.JSON` json_renderer
    from pyramid.renderers import JSON
    json_renderer = JSON()
    json_renderer.add_adapter(Perceel, perceel_adapter)
    """
    perceel = {'id': obj.id, 'type': obj.type, 'provincie': {'niscode': obj
        .provincie_niscode, 'naam': obj.provincie_naam}, 'gemeente': {
        'niscode': obj.gemeente_niscode, 'naam': obj.gemeente_naam, 'id':
        obj.gemeente_crab_id}, 'deelgemeente': {'niscode': obj.
        deelgemeente_niscode, 'naam': obj.deelgemeente_naam}}
    if obj.capakey and len(obj.capakey) > 0:
        perceel.update({'perceel': {'afdeling': obj.afdeling, 'sectie': obj
            .sectie, 'perceel': obj.perceel, 'capakey': obj.capakey}})
    return perceel
