Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Json(/hash)到ruby对象?_Javascript_Ruby - Fatal编程技术网

Javascript Json(/hash)到ruby对象?

Javascript 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

在Javascript中,您可以作为对象访问json

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对象之间顺利转换。当然,根据我的理解,这种方法很容易编写,而且很可能也存在。其主要思想是动态地将方法添加到给定的哈希实例中。这不是他所要求的。