无法将数组转换为字符串错误

时间:2010-08-18 15:39:38

标签: ruby-on-rails ruby arrays json irb

我有一个简单的电话

JSON.parse(Panda.get("/videos/#{self.panda_video_id}/encodings.json"))

返回:

can't convert Array into String

这是因为Panda.get("/videos/#(self.panda_video_id}/encodings.json")调用在新的Panda 1.0.0 gem中返回一个数组。

我也尝试过:

JSON.parse(Panda.get("/videos/#{self.panda_video_id}/encodings.json").to_s)

返回:

705: unexpected token at 'created_at2010/07/19 20:28:13 +0000video_id4df3be7b6c6888ae86f7756c77c92d8bupdated_at2010/07/19 20:28:30 +0000started_encoding_at2010/07/19 20:28:21 +0000id6e2b35ad7d1ad9c9368b473b8acd0abcextname.mp4encoding_time0encoding_progress100file_size513300height110statussuccesswidth200profile_idf1eb0fe2406d3fa3530eb7324f410789'

问题

你如何在顶部转动呼叫,以便它返回一个字符串?

2 个答案:

答案 0 :(得分:2)

执行以下工作:

panda_data = Panda.get("/videos/#{self.panda_video_id}/encodings.json")
JSON.parse(panda_data.to_s)

如果不是错误输出是什么?

如果panda_data是一个数组,panda_data.to_s保证返回一个字符串

答案 1 :(得分:2)

并非任何人都有机会,但

Panda_Gem,因为-v = 0.6已经让所有Panda。[get,post等]请求返回一个哈希值。所以你不再需要JSON.parse了。删除JSON.parse允许它工作。