在本文中,我们将讨论如何将字符串转换为哈希红 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"}
相关用法
- Ruby String转JSON用法及代码示例
- Ruby String转Boolean用法及代码示例
- Ruby String byteslice用法及代码示例
- Ruby String chop用法及代码示例
- Ruby String crypt用法及代码示例
- Ruby String delete_prefix用法及代码示例
- Ruby String each_codepoint用法及代码示例
- Ruby String encoding用法及代码示例
- Ruby String hex用法及代码示例
- Ruby StringIO bytes用法及代码示例
- Ruby StringScanner charpos用法及代码示例
- Ruby StringScanner get_byte用法及代码示例
- Ruby StringScanner peek用法及代码示例
- Ruby StringScanner post_match用法及代码示例
- Ruby StringScanner rest_size用法及代码示例
- Ruby StringScanner scan_until用法及代码示例
- Ruby StringScanner skip_until用法及代码示例
- Ruby StringScanner terminate用法及代码示例
- Ruby String bytes用法及代码示例
- Ruby String bytesize用法及代码示例
- Ruby String capitalize()用法及代码示例
- Ruby String casecmp用法及代码示例
- Ruby String center()用法及代码示例
- Ruby String chars()用法及代码示例
- Ruby String chomp用法及代码示例
注:本文由纯净天空筛选整理自abhaystriver大神的英文原创作品 How to convert String to Hash in Ruby?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。