Object

Tipo de campo: Object
Filtros disponibles: containscontained_byhas_keyhas_any_keyshas_keysisnull

Siempre que un atributo tenga el tipo de atributo Object, es un JSON Object. Como los objetos JSON se comportan de forma diferente a los Arrays, existen unos filtros correspondientes.

contains

Los filtros contains y contained_by se explican en la sección Array. Se aplica la misma lógica pero en este caso sobre todo el Object completo. Ten en cuenta que esta consulta distingue entre mayúsculas y minúsculas.

GET https://api.netux.com/api/v2.0/devices/?properties__contains={"country":"Colombia"}

// Retorna Array 'results' con device que contiene la propiedad 'Colombia'
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "properties": {
                "city": "Medellín",
                "country": "Colombia",
            },
            ...
        }
    ]
}

contained_by

Filtra los objetos JSON que están completamente contenidos en el Object proporcionado en la consulta.

GET https://api.netux.com/api/v2.0/devices/?properties__contained_by={"_isDemo": true}

// Retorna Array 'results' con objetos JSON coincidentes (y objetos JSON vacíos)
{
    "count": 3,
    "next": null,
    "previous": null,
    "results": [
        {
            "properties": {
                "_isDemo": true
            },
            ...
        },
        {
            "properties": {},
            ...
        },
        {
            "properties": {},
            ...
        }
    ]
}

🚧

Atención

Los Objects vacíos están contenidos por cualquier superset proporcionado, por lo que todos los objetos JSON vacíos se recuperan también. Para evitarlo, utiliza adicionalmente el has_key o has_keys con las correspondientes keys deseadas.

has_key / has_keys /has_any_keys

Filtra los objetos JSON que tienen la(s) clave(s) proporcionada(s).

has_key filtra una sola key.

has_keys filtra una lista de keys. Un objeto JSON tiene que tener todas las keys para coincidir (AND).

has_any_key filtra para una lista de keys como una superposición. Un objeto JSON tiene que coincidir con una sola key (OR).

// has_key
GET https://api.netux.com/api/v2.0/devices/?properties__has_key="_isDemo"

// Retorna Array 'results' con objeto JSON que contiene key '_isDemo'
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "properties": {
                "_isDemo": true
            },
            ...
        }
    ]
}
// has_keys
GET https://api.netux.com/api/v2.0/devices/?properties__has_keys=["country", "city"]
      
// Retorna Array 'results' con objetos JSON que contienen las keys proporcionadas
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "properties": {
                "city": "Medellín", }
                },
                "country": "Colombia",
            },
            ...
        },
        {
            "properties": {
                "city": "New York",
                "country": "United States"
            },
            ...
        }
    ]
}
// has_any_keys
GET https://api.netux.com/api/v2.0/devices/?properties__has_any_keys=["country","continent"]

// Retorna Array 'results' con todos los objetos JSON que coinciden en al menos una key
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "properties": {
                "city": "Medellín",
                "continent": "South America",
            },
            ...
        },
        {
            "properties": {
                "city": "New York",
                "country": "United States"
            },
            ...
        }
    ]
}

El filtro __isnull puede aplicarse a Arrays como se describe en la sección Boolean.