我的模型给了我一个字符串数组作为 json,我需要一个对象数组让我的 api 在客户端正常运行。在我的模型中,我将 json 定义为
def as_json(options={})
super(:only => [:price, :available, :location_id, :beer_id], :methods => [:name, :brewery, :style, :label_url, :description, :id])
end
这是给我一个回应
{"available":"on","beer_id":1,"created_at":"2013-05-31T16:45:09Z","description":"Good","id":1,"location_id":1,"price":"3.0","size":"16.0","updated_at":"2013-05-31T16:45:09Z"}
这显然没有[ ]
表明它是一个对象数组。有没有一种简单的方法可以将此字符串数组转换为对象数组?
编辑:我原来的反应很好
[{"available":"on","beer_id":1,"created_at":"2013-05-31T16:45:09Z","description":"Good","id":1,"location_id":1,"price":"3.0","size":"16.0","updated_at":"2013-05-31T16:45:09Z"}]
我的 ios 应用程序崩溃了,因为它认为当前响应不是 NSDictionary 类型,因为它是 NSString。环顾四周后,我对 rails 应用程序所做的一些更改似乎改变了 json 响应。我唯一的线索是当我查看什么工作和现在不工作时缺少的括号。