2011-05-11 27 views
2

私はJavaScriptでJSONを解析しようとしているが、私はRailsの中で、このエラーを取得しています:以下のようにエラー:未定義のメソッド 'GSUB'

undefined method `gsub' for #<Array:0x000001054a2440> 

私のコードは次のとおりです。

<script type="text/javascript"> 
    var stuff = <%= escape_javascript(@json) %> 
    var json = stuff.parseJSON(); 
    alert("text"); 
</script> 

ここで@jsonは@ nodes.to_jsonとしてコントローラに定義されています

誰かがこれを手伝ってくれますか? JSONをJavaScriptに変換するのは難しいことではありませんが、それは私を永遠に受け入れています。

+0

によって書かれてあります。また、JSONで何をしたいですか? HTMLページに出力する必要がありますか?または、JSONでリクエストに直接応答しますか? – sholsinger

答えて

2

ためのコードである:

def escape_javascript(javascript) 
    if javascript 
    javascript.gsub(/(\\|<\/|\r\n|[\n\r"'])/) { JS_ESCAPE_MAP[$1] } 
    else 
    '' 
    end 
end 

したがって、私は@jsonが実際配列であることを結論するであろう。

1

配列にgsubメソッドを適用しています。そのため、未定義のメソッドgsubが#になります。 @jsonは配列で、gsubを適用することはできません。

escape_javascript
+0

ありがとうございます。そのエラーが発生した理由は、escape_javascriptのためです。私はJSONを解析するために必要と思ったので、追加しただけです。そうでない場合は、どうすればJSONをjavascriptで単純に解析できますか?どんな助けでも大歓迎です。ありがとう! – readmymsg123

0

使用JSON.parse他のネイティブで利用可能な場合またはJSONパーサ、最も人気の一つは、あなたが使っているのRailsのバージョンを指摘した場合、おそらくそれが役に立つことと思いますダグラス・クロックフォード

関連する問題