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

在Ruby中解析JSON报错TypeError: no implicit conversion of Array into String如何解决?

报错原因

JSON.parse方法仅接受字符串格式的JSON数据作为入参,你当前传入的参数j已经是Array(数组)类型,方法尝试自动把数组转成字符串失败,就抛出了这个TypeError报错。
你可以先执行p j.class验证参数类型,返回结果一定是Array而不是String。

解决方法

分两种场景处理:

  • 如果你拿到的j本身就是已经被解析完成的目标数组,直接删除JSON.parse这行代码,直接使用j变量即可。比如要取第一个元素的test字段值,直接写j[0]["test"]就能拿到test_a。
  • 如果你确定j应该是JSON字符串,那去排查上游数据获取的逻辑,找到原始未被解析的JSON字符串,再传给JSON.parse即可。

附正确使用示例:

# 只有字符串格式的JSON才能传入parse方法
raw_json = '[{"test": "test_a", "doc_type": { "id": 32 }}]'
obj = JSON.parse(raw_json)
# 解析后obj就是预期的数组结构

内容的提问来源于stack exchange,提问作者Dulguuntur Enkh Orgil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:54:08