Ruby on rails 为什么我的JSON.parse失败了?RubyonRails
我试图将Flickr的API中的图像加载到RubyonRails应用程序中,但在JSON.parse()行中得到了“意外标记” 我在这里发现了另一个响应,返回的JSON的双引号被转义了,解决方案是在末尾添加.gsub,但我仍然得到一个错误 有人知道问题出在哪里吗Ruby on rails 为什么我的JSON.parse失败了?RubyonRails,ruby-on-rails,ruby,json,flickr,open-uri,Ruby On Rails,Ruby,Json,Flickr,Open Uri,我试图将Flickr的API中的图像加载到RubyonRails应用程序中,但在JSON.parse()行中得到了“意外标记” 我在这里发现了另一个响应,返回的JSON的双引号被转义了,解决方案是在末尾添加.gsub,但我仍然得到一个错误 有人知道问题出在哪里吗 def add @jsonresults = open("http://api.flickr.com/services/rest/?method=flickr.interestingness.getList&api_key=b
def add
@jsonresults = open("http://api.flickr.com/services/rest/?method=flickr.interestingness.getList&api_key=bb398c11934abb6d51bdd720020f6a4a&per_page=1&page=1&format=json&nojsoncallback=1").read
@images = JSON.parse(@jsonresults.to_json.gsub('\"', '"'))
end
错误:
JSON::ParserError in ImagesController#add
757: unexpected token at '"{"photos":{"page":1, "pages":500, "perpage":1, "total":500, "photo":[{"id":"8234011021", "owner":"24066605@N07", "secret":"b4c05df8c5", "server":"8341", "farm":9, "title":"Crescent Lake", "ispublic":1, "isfriend":0, "isfamily":0}]}, "stat":"ok"}"'
外部的双引号集不属于。这是有效的版本:
'{"photos":{"page":1, "pages":500, "perpage":1, "total":500, "photo":[{"id":"8234011021", "owner":"24066605@N07", "secret":"b4c05df8c5", "server":"8341", "farm":9, "title":"Crescent Lake", "ispublic":1, "isfriend":0, "isfamily":0}]}, "stat":"ok"}'
调用返回的json看起来很好。将解析更改为:
@images = JSON.parse(@jsonresults)
所以我可以使用.chop删除最后的双引号。。。。关于如何摆脱第一个的建议?解决了这个问题。正如他所说,调用返回的JSON看起来非常好。的确如此。不知道我为什么要把事情复杂化。
@json\u results.chop.reverse.chop.reverse