Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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
Ruby on rails 在rails中将JSON字符串转换为JSON数组?_Ruby On Rails_Ruby_Json - Fatal编程技术网

Ruby on rails 在rails中将JSON字符串转换为JSON数组?

Ruby on rails 在rails中将JSON字符串转换为JSON数组?,ruby-on-rails,ruby,json,Ruby On Rails,Ruby,Json,我在rails中有一个JSON字符串,如下所示: [{"content":"1D","createdTime":"09-06-2011 00:59"},{"content":"2D","createdtime":"09-06-2011 08:00"}] 这些是具有属性content和created time的类content的对象 我想将这个JSON字符串转换为其各自的JSON对象数组,这样我就可以运行一个循环,并将JSON解码为rails中的对象。如何实现这一点?您可以使用json库 然后,

我在rails中有一个JSON字符串,如下所示:

[{"content":"1D","createdTime":"09-06-2011 00:59"},{"content":"2D","createdtime":"09-06-2011 08:00"}]
这些是具有属性content和created time的类content的对象


我想将这个JSON字符串转换为其各自的JSON对象数组,这样我就可以运行一个循环,并将JSON解码为rails中的对象。如何实现这一点?

您可以使用json库

然后,您可以执行以下操作:

jsonArray = [{"content":"1D","createdTime":"09-06-2011 00:59"},   
              {"content":"2D","createdtime":"09-06-2011 08:00"}]
objArray = JSON.parse(jsonArray)
作为对您的评论的回应,您可以这样做,只要您的JSON适合您的模型

objArray.each do |object|
  # This is a hash object so now create a new one.
  newMyObject = MyObject.new(object)
  newMyObject.save # You can do validation or any other processing around here.
end

ActiveSupport::JSON.decode(string)
将为您将其解码为服务器端的美味可消费对象。

如果JavaScript代码是内部代码,则您可以执行以下操作:

<script>
    var hives = <%=@hives.html_safe%>;
</script>
运行循环

for(key in hives) {
  alert( hives[key] );
}

非常感谢Jeremy。我会尝试一下并让你知道的。谢谢Jeremy。它成功了。但是在我得到objArray之后。我尝试了ActiveSupport::JSON.decode(objArray[0])。它给了我这个错误类型错误:无法将哈希转换为字符串。没有必要,JSON解析已经将其转换为Ruby对象数组。因此,如果我做Content.new(objArray[0])。它会创建对象吗?我想将内容对象插入数据库。。当我将字符串jsonArray复制并粘贴到rails控制台时,您的示例给了我一个语法错误。如果您已经知道这一点,我不确定您会问什么。不知道如何在rails中从json字符串转换为json数组:-)。Tat是我的问题
var hives = JSON.parse( $('#hives_yearly_temp').val() );
for(key in hives) {
  alert( hives[key] );
}