Javascript Json(/hash)到ruby对象?
在Javascript中,您可以作为对象访问jsonJavascript Json(/hash)到ruby对象?,javascript,ruby,Javascript,Ruby,在Javascript中,您可以作为对象访问json person = { name: { first: "Peter", last: "Parker" } } person.name.first 在ruby中,我必须这样使用它: person[:name][:first] 是否可以像在javascript中一样将json(和哈希)作为对象访问?javascript使用对象属性作为关联数组的实现。因此,使用Ruby的哈希类型基本上是做同样的事情。Ruby中有一个js
person = {
name: {
first: "Peter",
last: "Parker"
}
}
person.name.first
在ruby中,我必须这样使用它:
person[:name][:first]
是否可以像在javascript中一样将json(和哈希)作为对象访问?javascript使用对象属性作为关联数组的实现。因此,使用Ruby的哈希类型基本上是做同样的事情。Ruby中有一个json gem。也许这会有所帮助
你应该看看哈西宝石。它能让你做你想做的事。它有一个Mash类,它接受JSON和XML解析的散列,并提供类似对象的访问。它实际上深入到散列中,转换散列中的任何数组或散列,等等
Rails内置了对将哈希编码为JSON和通过ActiveSupport::JSON将JSON解码为哈希的支持。使用内置支持可以避免安装gem
For example:
hash = ActiveSupport::JSON.decode("{ \"color\" : \"green\" }")
=> {"color"=>"green"}
hash["color"]
=> "green"
有关详细信息,请参阅:
如何像Javascript中的对象一样访问它?我仍在学习Ruby,但要获得
person.name.first
要在Ruby中工作,这些必须是方法。当找不到属性时,您可能需要覆盖散列中缺少的方法来执行散列查找。@anurag。我想知道是否有一种方法可以在json和ruby对象之间顺利转换。当然,根据我的理解,这种方法很容易编写,而且很可能也存在。其主要思想是动态地将方法添加到给定的哈希实例中。这不是他所要求的。