2

我有一个简单的电话

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'

问题

您将如何将调用置于顶部以使其返回字符串?

4

2 回答 2

2

执行以下工作:

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

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

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

于 2010-08-18T15:41:50.500 回答
2

并不是说有人有机会做到这一点,而是

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

于 2010-08-18T15:55:28.003 回答