【发布时间】:2016-05-24 00:09:48
【问题描述】:
我正在尝试使用使用 JSON gem 的 Ruby 脚本解析示例 JSON 文件。这是我要解析的文件:
{
"page": {
"title": "Templating Example"
},
"teacher": {
"name": "Mr. Bill"
},
"students": [
{ "name": "Bruce Wayne", "nicknames": ["Batman"] },
{ "name": "Peter Parker", "nicknames": ["Spidey", "Spiderman", "Spider-Man"] }
]
}
我可以使用以下脚本从这个 JSON 中提取数据:
require 'json'
file = File.read("data.json")
response = JSON.parse(file)
page_title = response["page"]["title"]
在上述情况下,page_title 返回“模板示例”
当我尝试将变量放入“页面”和“标题”位置时,我遇到的麻烦是:
var1 = "page"
var2 = "title"
page_title = response["var1"]["var2"]
我尝试了各种使用引号和不使用引号的解决方案,转义引号,传递已经格式化为括号和引号的变量,但我总是收到错误:
undefined method `[]' for nil:NilClass (NoMethodError)
或
`undefined method `response' for main:Object (NoMethodError)
【问题讨论】:
-
这些错误是在哪里/由什么引发的?
-
你打算做什么?您是否尝试为页面标题分配一个值并操作原始数据?您是否尝试访问该数据的其他部分?
-
欢迎来到 Stack Overflow。没有必要,也不是特别希望有诸如“谢谢”或“任何建议将不胜感激”之类的东西。 Stack Overflow 问题和答案包含一本在线参考书,类似于一本食谱。问候、告别和签名不是问答的可取部分。
标签: ruby json parsing hash key