saber resumen regla que octeto ley lewis excepciones estructura elementos elemento electronica ejemplos cumplen cumple configuracion como ruby-on-rails json variables

ruby-on-rails - resumen - regla del octeto ejemplos



¿Qué es un octeto JSON y por qué se requieren dos? (2)

  1. Un octeto es un grupo de 8 bits. Hoy en día, octeto es sinónimo de byte, pero byte históricamente se refería a cualquier agrupación "nativa" de bits, y eso podría significar 4,6,7 u 8 bits.
  2. El texto JSON debe contener al menos dos octetos porque la estructura de nivel superior de un documento JSON es una matriz u objeto, y las representaciones más cortas de esos son [] y {} , respectivamente.
  3. Verifica los messages valor. Probablemente esté vacío, sin configurar o conste de un solo dígito (como 4 ), que no es JSON válido, pero que es aceptado por muchas implementaciones JSON.

Tengo datos entrantes, que almaceno en messages variables:

connection = ContextIO::Connection.new(key, secret) messages = connection.all_messages(:account => account, :limit => 100, :since => (Time.now - 3000.day ))

Los messages variables están formateados en JSON. Entonces ejecuto esto:

foo = JSON.parse(messages)[''data'']

La mayoría de las veces esto funciona. De vez en cuando, recibo este mensaje de error:

A JSON text must at least contain two octets!

Ese mensaje de error se refiere a la línea JSON.parse(messages)[''data'']

  1. ¿Qué es un octeto?

  2. ¿Por qué el texto JSON debe contener al menos dos octetos?

  3. ¿Cómo evito que mi código se rompa cada vez que los messages no tienen dos octetos?

¡Gracias!


Aunque estoy totalmente de acuerdo con la otra respuesta, en mi caso tenía una cadena JSON válida pero todavía recibía el mensaje de error "El texto JSON debe contener al menos dos octetos" al intentar con JSON.parse .

Mi problema era que no estaba especificando el tipo de contenido de la application/json . Una vez que agregué eso, JSON.parse funcionó sin error.

Espero que esto ayude a alguien más.