Object
Tipo de campo: Object
Filtros disponibles: contains
, contained_by
, has_key
, has_any_keys
, has_keys
, isnull
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
ohas_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.
Updated about 2 years ago