Ruby:
使用YAML工作
如何操作:
Ruby 内置了一个名为 Psych 的库,用于解析和生成 YAML。要使用它,首先需要加载 YAML 标准库。这里有一个基础示例帮你入门:
require 'yaml'
# 将要序列化的哈希
person = { name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"] }
# 将哈希转换为 YAML
yaml_data = person.to_yaml
puts yaml_data
示例输出:
---
:name: John Doe
:age: 30
:skills:
- Ruby
- JavaScript
要将 YAML 数据加载回 Ruby 对象:
loaded_person = YAML.load(yaml_data)
puts loaded_person
示例输出:
{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}
使用第三方库:
尽管标准库足以完成基本任务,但对于复杂需求,你可能会考虑使用像 ‘safe_yaml’ 这样的第三方 gem。要使用这类库,首先必须安装 gem:
gem install safe_yaml
然后,你可以使用它来安全地加载 YAML 数据,减轻了用户控制源对象实例化的风险:
require 'safe_yaml'
safe_loaded_person = SafeYAML.load(yaml_data)
puts safe_loaded_person
示例输出:
{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}
这种方法增强了你处理 YAML 的安全性,使其成为从不可信来源加载 YAML 的应用程序的不错选择。