【发布时间】:2017-05-08 06:10:20
【问题描述】:
您好,我是 ruby 新手,我正在尝试将嵌套散列保存到 JSON 文件中,最终散列如下所示:
{"**School**":{"*Students*":{ "Info":{},"Values":{} },"*Teachers*":{ "Info":{},"Values":{} } } }
但最初哈希必须以空开头:
{"**School**":{} }
然后我需要在每个级别添加元素,如下所示:
{"**School**":{} ,"**Hospital**":{} }
还有
{"**School**":{ "*Students*":{} } ,"**Hospital**":{} }
还有
{"**School**":{ "*Students*":{ "*Info*":{ "Name": "Varchar" },"*Values*":{ "Name": "Jane" } } } ,"**Hospital**":{} }
我尝试了类似下面的方法,但它似乎不起作用:
hash = Hash.new
hash[ "**School**" ] = {"Student":{}}
hash[ "**School**" ][ "Student" ] = {"Info":{},"Values":{}}
File.open("saved.json","w") do |f|
f.write(hash.to_json)
感谢您的时间和帮助。
【问题讨论】:
-
你说的似乎不起作用是什么意思?你有错误吗?意想不到的结果?你有什么问题?
-
好吧,当我尝试将值添加到哈希中时:“Teachers”:{}
-
....我的代码只是覆盖了 "Teachers":{} where is located "Student":{} 。而且我的代码也复制了插入得到这个结果: {"School":{"Teachers":{},"Teachers":{"Info i>":{},"值":{}}}}