ruby解析json


做项目的时候需要一个小工具,为了方便决定用ruby脚本写这个小工具,这个小工具有个功能需要对json数据做解析,小工具实现了,顺便就把ruby中解析json的过程记录下来。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,简单易用便于阅读和理解,最重要的是几乎所有的语言基本都支持json并且都有很多好用的解析工具,很多的api接口也都使用json作为数据交换格式。

环境配置

1.ruby编码解码json首先本地需要安装ruby的开发环境,安装方式有很多种,windows上建议下载RubyInstaller for Windows安装包进行安装。

2.通过gem的方式安装json模块,通过RubyInstaller安装的ruby中默认已经安装好了rubygems

gem install json

使用ruby解析json

需要解析的高三一班部分学生json格式数据,存储在classInfo.json文件中

[
    {
        "name": "小美",
        "class": "高三一班"
        "id": "1",
        "phone": "66666661"
    },
    {
        "name": "小雷",
        "class": "高三一班",
        "id": "2",
        "phone": "66666662"
    },
    {
        "name": "小红",
        "class": "高三一班",
        "id": "3",
        "phone": "66666663"
    }
]

ruby脚本

# encoding: utf-8
require 'json'  #导入json模块
require 'pp'

json = File.read('classInfo.json')   #读取classInfo.json文件中的json字符串
classInfo = JSON.parse(json)         #字符串转换为json对象
pp classInfo                       #输出json对象

# 迭代所有学生的信息
puts  "-------------学生信息如下--------------"
classInfo.each do |stu|
    puts stu["id"]+"   "+stu["name"]+"  "+stu["class"]+"    "+stu["phone"]
end
puts  "---------------------------------------"

输出结果

[{"name"=>"\u5C0F\u7F8E",
  "class"=>"\u9AD8\u4E09\u4E00\u73ED",
  "id"=>"1",
  "phone"=>"66666661"},
 {"name"=>"\u5C0F\u96F7",
  "class"=>"\u9AD8\u4E09\u4E00\u73ED",
  "id"=>"2",
  "phone"=>"66666662"},
 {"name"=>"\u5C0F\u7EA2",
  "class"=>"\u9AD8\u4E09\u4E00\u73ED",
  "id"=>"3",
  "phone"=>"66666663"}]

-------------学生信息如下--------------
1   小美  高三一班    66666661
2   小雷  高三一班    66666662
3   小红  高三一班    66666663
---------------------------------------

Tips

JSON.pretty_generate(json)方法可以美化json输出

声明:极客凡凡|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - ruby解析json


Less Is More!