You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby提取Facebook返回嵌套JSON中指定视频缩略图URI

处理Facebook转义JSON提取首选视频缩略图(Ruby)

没问题,我来帮你搞定这个Ruby里解析Facebook转义JSON的事儿!下面是具体的步骤和代码示例:

核心步骤拆解

  • 第一步:解析转义JSON字符串:把Facebook返回的转义JSON转换成Ruby可以操作的哈希/数组对象
  • 第二步:筛选首选缩略图:从data数组中找出is_preferred为true的对象
  • 第三步:提取URI字段:从筛选出的对象中拿到uri的值,同时处理可能的异常情况

完整代码示例

require 'json'

# 替换成你实际拿到的转义JSON字符串
escaped_json = '{"data":[{"uri":"https://example.com/thumb1.jpg","is_preferred":false},{"uri":"https://example.com/thumb2.jpg","is_preferred":true}]}'

begin
  # 解析转义JSON为Ruby哈希
  parsed_result = JSON.parse(escaped_json)
  
  # 从data数组中查找首选缩略图对象
  preferred_thumbnail = parsed_result['data'].find { |item| item['is_preferred'] == true }
  
  if preferred_thumbnail
    thumbnail_uri = preferred_thumbnail['uri']
    puts "成功提取首选缩略图URI:#{thumbnail_uri}"
    # 这里可以添加你后续要做的逻辑,比如存储URI或者展示
  else
    puts "未找到标记为is_preferred=true的缩略图对象"
  end
rescue JSON::ParserError => e
  puts "JSON解析失败:#{e.message}"
end

注意事项

  • 确保已经引入Ruby标准库的json模块,这是默认自带的,直接require 'json'即可
  • 用begin-rescue包裹解析逻辑,避免因JSON格式错误导致程序崩溃
  • 如果data数组中可能存在多个is_preferred=true的对象,可以把find换成select,这样会得到一个符合条件的对象数组,再按需遍历处理

内容的提问来源于stack exchange,提问作者Mathieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:12:25