无法将哈希转换为字符串?

11
我试图解析Wordnik API的JSON响应,该API是使用Sinatra构建的。我一直收到错误消息“TypeError at /word”“无法将Hash转换为String”。我是否在错误地使用JSON解析器?
这是我的代码:
get '/word' do
  resp = Wordnik.words.get_random_word(:hasDictionaryDef => 'true', :maxCorpusCount => 20, :minLength => 10)
  result = JSON.parse(resp)
  word = result.word
  return word.to_s
end
2个回答

21

你可能得到了一个哈希值。要将其转换,请使用to_json

JSON.parse(resp.to_json)

1

您没有提供您正在解析的JSON响应是什么。但是假设它是以下形式之一

{
    "word":"my_word"
}

你需要执行result["word"]来获取解析JSON响应后的值。


我将 word = result.word 改为 word = result["word"],但是我仍然得到相同的错误。 - conbask

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接