作为一个编程的初学者,我正在尝试为我在大学的硕士论文过滤一个 JSON 文件。该文件包含大约 500 个哈希,其中 115 个是我感兴趣的。
我想做的事:
(1)过滤文件,选择我感兴趣的hash
(2) 对于每个选择的哈希,只返回一些特定的键
带有哈希(“贷款”)的数组格式包括:
{"header": {
"total":546188,
"page":868,
"date":"2013-04-11T10:21:24Z",
"page_size":500},
"loans": [{
"id":427853,
"name":"Peter Pan",
...,
"status":"expired",
"paid_amount":525,
...,
"activity":"Construction Supplies",
"sector":"Construction"," },
... ]
}
具体来说,我想要以下内容:
(1) 过滤掉 "status":"expired" 的 "loans" 哈希
(2) 只为每个这样的“过期”贷款返回某些键:“id”、“name”、“activity”……
(3) 最终,将所有内容导出到一个文件中,我可以在 Excel 中或使用一些统计软件(SPSS 或 Stata)进行分析
到目前为止,我自己想出的是:
require 'rubygems'
require 'json'
toberead = File.read('loans_868.json')
another = JSON.parse(toberead)
read = another.select {|hash| hash['status'] == 'expired'}
puts hash
这显然是完全不完整的。我感到完全迷失了。现在,我不知道在哪里以及如何继续。尽管已经搜索并阅读了大量关于如何过滤 JSON 的文章......
有没有人可以帮我解决这个问题?