当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby String转Hash用法及代码示例


在本文中,我们将讨论如何将字符串转换为哈希红 gems 。我们可以通过不同的方法将字符串转换为哈希值,从解析 JSON、解析 YAML 到自定义字符串解析。

使用 JSON 解析将字符串转换为哈希

JSON.parse方法解析 JSON 格式的字符串并返回表示解析数据的哈希值。

用法:

hash = JSON.parse(string)

例子:在此示例中,JSON 字符串json_string被解析使用JSON.parse,生成包含 JSON 数据中的键值对的哈希。

require 'json'

# Define a JSON string
json_string = '{"name": "John", "age": 30, "city": "New York"}'

# Convert JSON string to a hash
hash = JSON.parse(json_string)
puts hash
# Output: {"name"=>"John", "age"=>30, "city"=>"New York"}

输出
{"name"=>"John", "age"=>30, "city"=>"New York"}

使用 YAML 解析将字符串转换为哈希

YAML.safe_load方法用于将 YAML 格式的字符串解析为哈希值。

用法:

hash = YAML.safe_load(string)

例子:在此示例中,YAML 字符串 被解析使用YAML.safe_load,生成包含 YAML 数据中的键值对的哈希值

require 'yaml'

# Define a YAML string
yaml_string = "---\nname: John\nage: 30\ncity: New York\n"

# Convert YAML string to a hash
hash = YAML.safe_load(yaml_string)
puts hash
# Output: {"name"=>"John", "age"=>30, "city"=>"New York"}

输出
{"name"=>"John", "age"=>30, "city"=>"New York"}

自定义字符串解析为哈希

在这个方法中我们 实现自定义解析逻辑以将字符串转换为哈希值。

用法:

hash = Hash[string.split(‘&’).map { |pair| pair.split(‘=’) }]

例子:在此示例中,我们使用“&”和“=”等分隔符将字符串拆分为键值对,然后将它们转换为哈希值。

# Define a custom string format
string = "name=John&age=30&city=New York"

# Convert custom string to a hash
hash = Hash[string.split('&').map { |pair| pair.split('=') }]
puts hash
# Output: {"name"=>"John", "age"=>"30", "city"=>"New York"}

输出
{"name"=>"John", "age"=>"30", "city"=>"New York"}


相关用法


注:本文由纯净天空筛选整理自abhaystriver大神的英文原创作品 How to convert String to Hash in Ruby?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。