如何在 Ruby 中将流转换为对象
How to convert a stream into an object in Ruby
我正在尝试从我的 jQuery 文件发出 PUT 提取请求。服务器给我 500,因为我的控制器无法使用提取。
这是以 request.body 的形式发送到我的 .rb 文件的流:
request.body == #<StringIO:0x00005597c3b69fa8>
request.body.string == "{\"name\":\"New School\",\"office_id\":2,\"inactive\":false}"
我试过了..
load(request.body.string)
但是这个 returns 加载错误:
LoadError: cannot load such file -- {"name":"New School","office_id":2,"inactive":false}
还有..
parse(request.body.string)
结果是
undefined method `parse' for #<CrEventsApp:0x00005597c3bbf098>
是否有一种方法可以将此信息解析回哈希?我可以自己用一些正则表达式和 .split() 解析字符串,将数据转换为可用格式,但我想要一个更简洁、更可靠的解决方案。
JSON.parse 应该可以解决问题:
JSON.parse(request.body.string)
=> {"name"=>"New School", "office_id"=>2, "inactive"=>false}
我正在尝试从我的 jQuery 文件发出 PUT 提取请求。服务器给我 500,因为我的控制器无法使用提取。 这是以 request.body 的形式发送到我的 .rb 文件的流:
request.body == #<StringIO:0x00005597c3b69fa8>
request.body.string == "{\"name\":\"New School\",\"office_id\":2,\"inactive\":false}"
我试过了..
load(request.body.string)
但是这个 returns 加载错误:
LoadError: cannot load such file -- {"name":"New School","office_id":2,"inactive":false}
还有..
parse(request.body.string)
结果是
undefined method `parse' for #<CrEventsApp:0x00005597c3bbf098>
是否有一种方法可以将此信息解析回哈希?我可以自己用一些正则表达式和 .split() 解析字符串,将数据转换为可用格式,但我想要一个更简洁、更可靠的解决方案。
JSON.parse 应该可以解决问题:
JSON.parse(request.body.string)
=> {"name"=>"New School", "office_id"=>2, "inactive"=>false}