
代码示例:
Ruby 和 Ruby on Rails 中解析 JSON 格式数据的实例教程
- Ruby 中解析 JSON 数据
在 Ruby 中,解析 JSON 数据通常使用 JSON.parse 方法。以下是一个简单的示例,展示如何将 JSON 字符串解析为 Ruby 对象。
ruby复制
require ‘json’
示例 JSON 字符串
json_string = ‘{“hello”: “goodbye”}’
解析 JSON 字符串
my_hash = JSON.parse(json_string)
访问解析后的数据
puts my_hash[‘hello’] # 输出: goodbye
如果 JSON 字符串比较复杂,包含单引号和双引号,可以使用以下方法:
用双引号包含 JSON 字符串,并对 JSON 字符串中的每个双引号进行转义。
将 JSON 字符串写入到 JSON 文件中,通过读取 JSON 文件的方式解析。
ruby复制
require ‘json’
require ‘pp’
读取 JSON 文件
json = File.read(‘input.json’)
解析 JSON 文件
obj = JSON.parse(json)
使用 pp 打印解析后的对象
pp obj
2. Ruby 中将 Ruby 对象转换为 JSON 字符串
将 Ruby 对象转换为 JSON 字符串可以使用 JSON.generate 或 to_json 方法。
ruby复制
require ‘json’
使用 JSON.generate
my_hash = {:hello => “goodbye”}
puts JSON.generate(my_hash) # 输出: {“hello”:“goodbye”}
使用 to_json
puts {:hello => “goodbye”}.to_json # 输出: {“hello”:“goodbye”}
puts 1.to_json # 输出: “1”
3. Ruby on Rails 中解析 JSON 数据
在 Ruby on Rails 中,解析 JSON 数据可以使用 JSON.parse 方法,也可以使用 ActiveSupport::JSON.decode 方法。以下是一个示例,展示如何在 Rails 中解析 JSON 数据。
ruby复制
require ‘json’
示例 JSON 字符串
json_string = ‘{“firstname”:“jeff”, “lastname”:“durand”, “address”: {“street”:“22 charlotte rd”, “zipcode”:“01013”, “residents”: 3}}’
使用 JSON.parse 解析 JSON 字符串
json_object = JSON.parse(json_string)
访问解析后的数据
puts json_object[‘firstname’] # 输出: jeff
puts json_object[‘address’][‘street’] # 输出: 22 charlotte rd
4. 使用 OpenStruct 解析 JSON 数据
在 Rails 中,可以使用 OpenStruct 类来解析 JSON 数据,使数据访问更加方便。
ruby复制
require ‘json’
require ‘ostruct’
示例 JSON 字符串
json_string = ‘{“firstname”:“jeff”, “lastname”:“durand”, “address”: {“street”:“22 charlotte rd”, “zipcode”:“01013”, “residents”: 3}}’
使用 JSON.parse 和 OpenStruct 解析 JSON 字符串
json_object = JSON.parse(json_string, object_class: OpenStruct)
访问解析后的数据
puts json_object.firstname # 输出: jeff
puts json_object.address.street # 输出: 22 charlotte rd
5. 从文件中读取 JSON 数据
在 Rails 中,可以使用 File.read 方法读取 JSON 文件,然后使用 JSON.parse 方法解析数据。
ruby复制
require ‘json’
读取 JSON 文件
json = File.read(‘input.json’)
解析 JSON 文件
obj = JSON.parse(json)
访问解析后的数据
puts obj[‘President’] # 输出: Alan Isaac
puts obj[‘India’] # 输出: [“Sachin Tendulkar”, “Virender Sehwag”, “Gautam Gambhir”]
6. 从远程 URL 读取 JSON 数据
在 Rails 中,可以使用 open-uri 库从远程 URL 读取 JSON 数据,然后使用 JSON.load 方法解析数据。
ruby复制
require ‘open-uri’
require ‘json’
远程 JSON 文件的 URL
path = “https://raw.githubusercontent.com/erik-sytnyk/movies-list/master/db.json”
读取远程 JSON 文件
uri = URI.open(path)
解析 JSON 数据
uri_json = JSON.load(uri)
访问解析后的数据
puts uri_json.first[‘title’] # 输出: Ruby on Rails #103 Simple Omniauth without Devise
参考资料
Ruby JSON 解析与生成
Ruby on Rails parse JSON file - Flexiple
如何使用 Ruby on Rails 解析 JSON?[重复]_rails 获取 json 字符串 直接 findby - 优快云 博客
Ruby JSON | 菜鸟教程
Ruby read json file to hash
Parse JSON with Ruby on Rails
希望这些示例能帮助你更好地理解和使用 Ruby 和 Ruby on Rails 中的 JSON 解析功能。
喜欢本文,请点赞、收藏和关注!
如能打赏、那更好了!
**如有朋友需要杭州社保挂靠的,可以在评论区或联系博主!
本人有朋友公司需要有计算机专业人员的社保缴纳。因为是新公司
**
242

被折叠的 条评论
为什么被折叠?



