2011-08-08 3 views

답변

1

가능한 경우 JSON되기 전에 값을 수정하십시오. activerecord에서는 값을 변경하고 JSON으로 변환 할 수 있다고 생각합니다. 모델을 저장하지 않는 한 변경 사항은 무시됩니다. 당신도

my_json.gsub('/', '\\/') 

이 어떤 앞으로이 키에서 슬래시로 변환 할 할 수 있도록 루비에서

는, JSON, 그냥 문자열입니다. JSON 문자열에 슬래시가 문자열 외부에 포함될 수있는 이유가 무엇인지 모르겠으므로 괜찮습니다. 이 후 몇 번을 콜론으로 시작하는 부분, 그 이후 아마도 약간의 공백을 발견

my_json.gsub(/:\s*"[^"]*\/[^"]*"/) { |m| m.gsub('/', '\\/') } 

: 당신이 키를 변환하지 않도록하려면

, 당신은 (약간 복잡) 정규 표현식을 사용할 수 있습니다 인용 부호. 그런 다음 몇 가지 선택적 항목 (이중 인용 부호가 아닌 항목)을 찾은 다음 슬래시를 사용하여 이중 인용 부호가 아닌 실제 큰 인용 부호를 추가로 찾습니다. 따라서 본질적으로 최소값은 :"/"입니다. 그러면 각 일치하는 문자열을 블록에 전달하고 이전 gsub를 실행하여 슬래시를 변환합니다. 블록의 출력은 초기 gsub에서 발견 된 내용을 대체합니다.

나는 깔끔한 방법이 있으니 주위를 놀아 라.

관련 문제