使用JSON.parse错误将Ruby散列到json

时间:2014-09-08 23:20:56

标签: ruby json hash

我试图用json做哈希,但是我给了这个

JSON.parse({"tag":"DownloadRequest","hash":"c8\u0006ùM]ÁaSßwÃ9\u0007Ãò\u0013Â4lÊ·|j\\ëç","part_number":0})
TypeError: exception class/object expected

我如何解决?

1 个答案:

答案 0 :(得分:2)

您当前传递给JSON#parse的内容不是有效的Ruby Hash对象;它只是原始的JSON。 JSON#parse需要一个包含有效JSON的字符串。如果你将JSON包装在一个字符串中,那么一切正常:

require 'json'
str = '{"tag":"DownloadRequest","hash":"c8\u0006ùM]ÁaSßwÃ9\u0007Ãò\u0013Â4lÊ·|j\\ëç","part_number":0}'
JSON.parse str

现在返回:

  

{ “标记”=> “中DownloadRequest”,    “散列”=> “中C8 \u0006ùM]ÁaSßwÃ9\ AAO \u0013Â4lÊ·| JEC”,    “PART_NUMBER”=大于0}