Ruby 将JSON字符串解析为具有属性的对象

Ruby 将JSON字符串解析为具有属性的对象,ruby,openstruct,Ruby,Openstruct,当前我的应用程序正在以以下方式解析JSON: OpenStruct.new(JSON.parse(json_string)) 但这种方法存在一些问题: JSON允许像[{id:1,name:first},{id:2,name:second}]这样的根级数组,OpenStruct无法处理这些数组并引发异常。 OpenStruct不处理嵌套元素。 我找到了一些解决方案,比如RecursiveOpenStruct等 它们处理嵌套哈希,但仍然不能处理顶级数组 嵌套在数组中的散列仍然是散列:{data:

当前我的应用程序正在以以下方式解析JSON:

OpenStruct.new(JSON.parse(json_string))
但这种方法存在一些问题:

JSON允许像[{id:1,name:first},{id:2,name:second}]这样的根级数组,OpenStruct无法处理这些数组并引发异常。 OpenStruct不处理嵌套元素。 我找到了一些解决方案,比如RecursiveOpenStruct等

它们处理嵌套哈希,但仍然不能处理顶级数组 嵌套在数组中的散列仍然是散列:{data:[{id:1,name:first},{id:2,name:second}]}这里的每一个。data[i]是一个散列。
当你有一个数组时,你期望什么?你看过吗?@hakcho:一个对象数组。乌里·阿加西给出了正确的答案。我将使用Hashie::Mash。