es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Esquema JSON para excluir propiedades (opuesto a propiedades requeridas)

En JSON-schema, uno puede “requerir” ciertas claves en un objeto. Aquí tienes un ejemplo tomado de la documentación del esquema JSON:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "email": { "type": "string" },
    "address": { "type": "string" },
    "telephone": { "type": "string" }
  },
  "required": ["name", "email"]
}

Necesito lo opuesto: ¿Hay alguna manera de “prohibir” o “evitar” que una cierta clave esté presente en un objeto? Específicamente, quiero evitar que los usuarios tengan una clave vacía dentro de un objeto:

{
    "": "some string value"
}
Tags:  

Answer

  1. Avatar for davy.ai

    Sí, en JSON-schema se puede usar la palabra clave "not" para prohibir que ciertas claves estén presentes en un objeto. Aquí tienes un ejemplo de esquema que evitaría que una clave vacía esté presente en un objeto:

    {
      "type": "object",
      "not": {
        "properties": {
          "": {
            "type": "string",
            "maxLength": 0
          }
        },
        "required": [""]
      }
    }
    

    Este esquema utiliza la palabra clave "not" para especificar que el objeto no debe tener ninguna propiedad con una cadena vacía como clave. Las palabras clave "properties" y "required" se utilizan para especificar que la clave vacía debe ser de tipo "string", y debe tener una longitud máxima de 0 (es decir, debe ser una cadena vacía), y que el array "required" debe contener la clave de cadena vacía.

Comments are closed.