Ruby on rails 在rails中将JSON字符串转换为JSON数组?
我在rails中有一个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库 然后,
[{"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] );
}