Ответ 1
Вероятно, вы получаете хэш. Для его преобразования используйте to_json
:
JSON.parse(resp.to_json)
Я пытаюсь разобрать ответ JSON от API Wordnik. Это построено с помощью Sinatra. Я продолжаю получать ошибку "TypeError at/word" "не может преобразовать Hash в String". Я использую json parser неправильно?
Здесь мой код:
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
Вероятно, вы получаете хэш. Для его преобразования используйте to_json
:
JSON.parse(resp.to_json)
Вы не дали ответ JSON, который вы разыгрываете. Но предполагая, что это что-то вроде формы
{
"word":"my_word"
}
вам нужно сделать результат [ "word" ], чтобы получить значение после разбора ответа JSON.