Ruby:
使用JSON进行编程

如何操作:

Ruby通过其标准库,提供了解析和生成JSON的无缝方法。这些操作的主要模块是json,可以轻松地集成到任何Ruby应用程序中。

解析JSON:

要将JSON字符串转换为Ruby哈希,您可以使用JSON.parse方法。

require 'json'

json_string = '{"name": "John Doe", "age": 30, "city": "New York"}'
ruby_hash = JSON.parse(json_string)

puts ruby_hash
# 输出: {"name"=>"John Doe", "age"=>30, "city"=>"New York"}

生成JSON:

相反,要将Ruby哈希转换为JSON字符串,您使用JSON.generate方法或在需要json库后可用于Ruby对象的to_json方法。

require 'json'

ruby_hash = { name: "Jane Doe", age: 25, city: "Los Angeles" }
json_string = ruby_hash.to_json

puts json_string
# 输出: {"name":"Jane Doe","age":25,"city":"Los Angeles"}

第三方库:

虽然Ruby的标准库覆盖了基本的JSON处理,但许多项目依赖于第三方库,以获得增强的功能和性能。一个受欢迎的选择是Oj(优化的JSON)。

使用Oj解析:

require 'oj'

json_string = '{"name": "Alex", "age": 40, "city": "Chicago"}'
ruby_hash = Oj.load(json_string)

puts ruby_hash
# 输出: {"name"=>"Alex", "age"=>40, "city"=>"Chicago"}

使用Oj生成:

Oj还提供了一种快速从Ruby对象生成JSON的方法:

require 'oj'

ruby_hash = { name: "Samantha", age: 35, city: "Miami" }
json_string = Oj.dump(ruby_hash)

puts json_string
# 输出: {"name":"Samantha","age":35,"city":"Miami"}

这些例子说明了在Ruby中处理JSON的直接性,使其适用于从简单的数据操作到复杂的API通信的任务。