ruby-on-rails - Ruby on Rails 在没有 : 和 => 值的情况下将 Hash 写入文件
问题描述
我在 Ruby on Rails 应用程序中有一个哈希,需要以以下格式写入文件 -
{emp_id:15, emp_name:"Test", emp_sal:1800, emp_currency:"USD"}
但我能够以以下格式将其打印在文件中 -
{:emp_id=>15, :emp_name=>"Test", :emp_sal=>1800, :emp_currency=>"USD"}
有没有办法在将哈希写入文件时删除:
符号并替换=>
为?:
谢谢!
解决方案
正如我在评论中所说,您必须手动执行此操作。用于hash.map
获取键/值对并相应地格式化它们,使用逗号连接,然后在结果周围添加花括号。我#to_json
用作将引号添加到字符串而不是整数的快捷方式。
hash = {emp_id:15, emp_name:"Test", emp_sal:1800, emp_currency:"USD"}
require 'json'
result = '{' + hash.map { |k, v| "#{k}:#{v.to_json}" }.join(', ') + '}'
puts result
# => {emp_id:15, emp_name:"Test", emp_sal:1800, emp_currency:"USD"}
请注意,这仅适用于单个级别。如果您有嵌套,则需要递归函数。
推荐阅读
- javascript - 在 React 中遍历虚拟 DOM
- javascript - 如何在 react native 中编写普通的 javascript 外部函数?
- c++ - 在析构函数中的唯一指针上调用重置的 C++ 语义
- identityserver4 - 使用角色将 Identity Server 4 与 API 服务共同托管
- asp.net - 按钮单击 ASP.NET 后无需等待操作完成即可发送电子邮件
- python - 如何将python类'str'转换为没有左引号和右引号的类'tuple'
- java - Netbeans 10 及更高版本中 Ant java webapplication 的奇怪行为
- php - 如何在 Windows 上安装带有 php 7.4.9 的 mongodb 和带有 Apache 2.4.46 的 WAMP
- python - ImportError:无法从“scipy._lib”导入名称“_ccallback_c”
- reactjs - 试图注册两个同名的视图