Rails строка массива хэшей с ключами - преобразовать в массив хэшей - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть эта строка, которую я передаю с помощью вызова ajax из ответа API (я не могу изменить данные перед отправкой в ​​Rails, так как это делается с помощью jQuery в представлении)

str = '{"0"=>{"firstName"=>"Testing", "lastName"=>"It", "email"=>"test@example.com"}, "1"=>{"firstName"=>"Tester", "lastName"=>"You", "email"=>"test2@example.com"}}'

Я хочуразобрать его в массив хэшей ruby.

Наиболее логичный анализ с JSON завершается неудачей:

JSON.parse(str)

JSON :: ParserError (765: неожиданный токен в '{"0"=> {" firstName "=>« Тестирование »,« lastName »=>« Это »,« электронная почта »=>« testing@example.com »},« 1 »=> {« firstName »=>« Тестер », "lastName" => "Вы", "email" => "test2@example.com"}} ')

Любые идеи, как разобрать этот элегантно без gsubили расщепляется.Возможно, преобразовать строку как-нибудь в массив хэшей в Ruby-формате?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Поскольку это хэш ruby, вы можете использовать eval

hash = eval(str)
0 голосов
/ 16 февраля 2019

Спасибо Хейдену за то, что указал на это!Действительно, я передавал недопустимый JSON, потому что я передавал объект, а не JSON.Решается передачей объекта массива из вида с JSON.stringify

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