2011-12-14 7 views
10

Wordnik의 API에서 JSON 응답을 구문 분석하려고합니다. 이것은 Sinatra와 함께 지어졌습니다. "TypeError at/word" "해시를 String으로 변환 할 수 없습니다"오류가 계속 나타납니다. json 파서를 잘못 사용하고 있습니까? 당신은 당신이 파싱하는 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 

답변

21

해시가 표시됩니다. 변환하려면 to_json :

JSON.parse(resp.to_json) 
1

:

여기 내 코드입니다. 그러나 가정하면 JSON 응답을 분석 한 후 값을 얻기 위해 당신이 결과를해야 할 형태의 무언가

{ 
    "word":"my_word" 
} 

[ "단어"]입니다.

+0

'word = result.word'를'word = result [ "word"]'로 바꾸었지만 동일한 오류가 발생합니다. – 585connor

관련 문제