Проблема при разборе данных JSON - PullRequest
1 голос
/ 06 марта 2011

Что не так при разборе следующих данных JSON

'{
   {"errors":
     {"firstname":"is too short"}
   },
   {"account":
     {"firstname":"Test"}
   }
}'

, для которых выдается эта ошибка?

JSON::ParserError in AccountsController#home
706: unexpected token at ... # the code above

?

InУчетные записи контроллера у меня

JSON.parse(json_data)["errors"]

Ответы [ 3 ]

4 голосов
/ 06 марта 2011

Не следует инкапсулировать атрибут ошибки и аккаунт.Вероятно, это должно выглядеть так:

'{
  "errors":{"firstname":"is too short"},
  "account":{"firstname":"Test"}
}'
3 голосов
/ 06 марта 2011

Вам не хватает имен свойств:

'{"property1":
   {"errors":
     {"firstname":"is too short"}
   },
  "property2":
   {"account":
     {"firstname":"Test"}
   }
}'

Или, вам действительно нужен массив:

'[
   {"errors":
     {"firstname":"is too short"}
   },
   {"account":
     {"firstname":"Test"}
   }
]'
1 голос
/ 06 марта 2011

Ваша структура данных выглядит как объект JSON {}, но у вас есть массив []. Первый набор {} должен быть [].

http://www.jsonlint.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...