當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。