2016-05-31 27 views
1

我正在使用Rails 4.2.3。我试图解析JSON数据,所以我有“试图解析JSON数据时,没有将数组转换为字符串”

content = ["{\"sEcho\":3,\"timestamp\":1464705752942,\"iTotalRecords\":1242,\"iTotalDisplayRecords\":1242,\"aaData\":[{\"externalId\":\"4279\"}]}"] 
my_object_times_array = JSON.parse(content) 

可悲的是,第二行给出

no implicit conversion of Array into String 

的JSON是国内形成的错误(至少据我可以告诉)所以我不确定是什么导致上述错误以及如何解决它。我不想更改JSON。

+0

尝试: my_object_times_array = JSON.parse(content [0]) – mahatmanich

+0

严禁codepen是Javascript,!不是RUBY!你想用JS或RUBY解决问题吗? – mahatmanich

回答

0

content是一个数组,但JSON.parse需要一个JSON字符串。从文档使用的

例子:

require 'json' 

my_hash = JSON.parse('{"hello": "goodbye"}') 
puts my_hash["hello"] => "goodbye" 

Check the documentation here

所以,你可以做以下

content = "{\"sEcho\":3,\"timestamp\":1464705752942,\"iTotalRecords\":1242,\"iTotalDisplayRecords\":1242,\"aaData\":[{\"externalId\":\"4279\"}]}" 
my_object_times_array = JSON.parse(content) 

content = ["{\"sEcho\":3,\"timestamp\":1464705752942,\"iTotalRecords\":1242,\"iTotalDisplayRecords\":1242,\"aaData\":[{\"externalId\":\"4279\"}]}"] 
my_object_times_array = JSON.parse(content[0])