2011-02-27 10 views
16

Estoy tratando de analizar datos JSON en mi aplicación Rails 3 con JSON.parse. Sigo recibiendo este error:Ruby on Rails Error de token inesperado JSON.parse

737: unexpected token at '{\"0\":{\"class\":\"window\",\"text\":\"Testing\",\"style\":\"position: absolute; top: 8px; left: 8px; width: 560px; height: 290px; z-index: 0; \"}

El JSON real es mucho más largo, pero básicamente es el mismo.

Respuesta

33

Bueno, sólo puedo responder sobre la base de la parte de la JSON que nos mostró, pero tiene dos problemas:

  1. Todos los caracteres de comillas (") se escapan; no es necesario que lo sean a menos que se utilicen en una cadena con doble puntuación, que parece que no lo son.
  2. Falta un corsé de cierre (}).

De lo contrario, se basa en https://jsonlint.com/.

+4

¡Gracias! El problema fueron las citas escapadas. Esto funcionó: 'JSON.parse (content.gsub ('\"', '"'))' – SZH

+0

Escapar es un infierno: Tuve el mismo problema y esto me ayudó. http://stackoverflow.com/questions/3066886/json-parse-string-with-quotes – obesechicken13

10

En mi caso, era un carácter oculto que aparecía solo cuando lo pegaba en vim.

+1

Lo mismo en mi caso. Tenía algunos espacios en blanco alrededor del objeto – Christoffer