在Ruby中使用JSON


在Ruby中使用JSON

本章介绍如何使用Ruby编程语言对JSON对象进行编码和解码。让我们从准备环境开始,使用Ruby for JSON开始编程。

环境

在开始使用Ruby编码和解码JSON之前,您需要安装任何可用于Ruby的JSON模块。您可能需要安装Ruby gem,但如果您运行的是最新版本的Ruby,则必须在您的计算机上安装gem,否则假设您已经安装了gem,请按照以下单步执行操作 -

$gem install json

使用Ruby解析JSON

以下示例显示前2个键包含字符串值,最后3个键包含字符串数组。让我们将以下内容保存在名为 input.json 的文件中。

{
   "President": "Alan Isaac",
   "CEO": "David Richardson",

   "India": [
      "Sachin Tendulkar",
      "Virender Sehwag",
      "Gautam Gambhir"
   ],

   "Srilanka": [
      "Lasith Malinga",
      "Angelo Mathews",
      "Kumar Sangakkara"
   ],

   "England": [
      "Alastair Cook",
      "Jonathan Trott",
      "Kevin Pietersen"
   ]

}

下面给出的是一个Ruby程序,用于解析上面提到的JSON文档

#!/usr/bin/ruby
require 'rubygems'
require 'json'
require 'pp'

json = File.read('input.json')
obj = JSON.parse(json)

pp obj

执行时,它将产生以下结果

{
   "President"=>"Alan Isaac",
   "CEO"=>"David Richardson",

   "India"=>
   ["Sachin Tendulkar", "Virender Sehwag", "Gautam Gambhir"],

   "Srilanka"=>
   ["Lasith Malinga ", "Angelo Mathews", "Kumar Sangakkara"],

   "England"=>
   ["Alastair Cook", "Jonathan Trott", "Kevin Pietersen"]
}