Saltar al contenido

¿Se considera JSON un tipo primitivo?

Solución:

El RFC relevante es el RFC 7159, no el RFC 4627. El RFC 4627 es “informativo”. RFC 7159 es “seguimiento de estándares”; explícitamente obsoleta RFC 4627.

Request for Comments: 7159                                  Google, Inc.
Obsoletes: 4627, 7158                                         March 2014
Category: Standards Track
ISSN: 2070-1721

En el texto de RFC 7159, encontrará esto.

13.  Examples

   This is a JSON object:

      {
        "Image": {
            "Width":  800,
            "Height": 600,
            "Title":  "View from 15th Floor",
            "Thumbnail": {
                "Url":    "http://www.example.com/image/481989943",
                "Height": 125,
                "Width":  100
            },
            "Animated" : false,
            "IDs": [116, 943, 234, 38793]
          }
      }
   [snip]
   Here are three small JSON texts containing only values:

   "Hello world!"

   42

   true

{ "astring" } no es JSON válido y tampoco lo es "astring" o astring, ya que necesitamos tanto una clave como un valor, p. ej. { KEY : VALUE } dónde KEY es siempre una cuerda y VALUE puede ser una cadena, un número, un valor booleano o un valor nulo.

De la especificación:

Especificaciones JSON

Sí, como dice la especificación, JSON puede ser un valor primitivo de nivel superior sin un objeto que lo envuelva. – Andy Ray

Si lo entendí correctamente, ese comentario no es correcto. JSON válido es Nunca un valor primitivo de nivel superior por sí mismo. Si todavía está confundido, esto debería aclarar las cosas:

  1. Gramática JSON

    Un texto JSON es una secuencia de tokens. El conjunto de tokens incluye seis caracteres estructurales, cadenas, números y tres nombres literales.

    Un texto JSON es un objeto o matriz serializado.

    JSON-text = object / array

    Estos son los seis personajes estructurales:

    matriz-comienzo = ws% x5B ws; [ left square bracket

    begin-object = ws %x7B ws ; { left curly bracket

    end-array = ws %x5D ws ; ] corchete derecho

    end-object = ws %x7D ws ; } right curly bracket

    name-separator = ws %x3A ws ; : colon

    value-separator = ws %x2C ws ; , comma

    Se permiten espacios en blanco insignificantes antes o después de cualquiera de los seis caracteres estructurales.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *