2011-05-11 3 views
2

내가 자바 스크립트에서 JSON을 구문 분석하려고 해요,하지만 난 레일이 오류 받고 있어요 :오류 구문 분석 JSON : 정의되지 않은 메서드 '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을 단순히 파싱 할 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다. 감사! – readmymsg123

0

사용 JSON.parse 다른 기본적으로 가능한 경우 또는는 JSON 파서, 가장 인기 하나는 당신이 사용중인 레일의 버전을 언급하면 ​​아마 도움이 될 것 더글러스 크록 포드

관련 문제