문제

복제하다: jQuery에서 JSON에 직렬화

jQuery에 내장 된 JSON 시리얼 라이저/사제제가있는 것 같습니다. 내장 jQuery JSON 프로세서 자체를 사용하여 범용 JSON 프로세서 (즉, jQuery.Something () 호출을 통화하여 내 데이터를 직렬화/사제 화)로 사용하여 별도의 JSON 라이브러리를 제거 할 수 있습니까?

업데이트 : 위에서 언급 한 질문의 응답에 따르면 jQuery에는 JSON 직렬화 코드가 없다고 말합니다. JSON Desserialization은 어떻습니까? .getJson은 어떻게 구현되었으며, 왜 사막화 기능이 일반적인 용도로 노출되지 않습니까?

Update2 : 저는 이미 JSON.org에서 JSON2를 사용하고 있습니다. 제가하고있는 모든 일은 간단한 사막화이므로 제거하려고합니다. jQuery가 실제로 Eval을하고있는 것처럼 들리나요? 나는 인상을 받았다 그것은 보안에 그리 좋지 않았습니다:

평가 기능은 매우 빠릅니다. 그러나 JavaScript 프로그램을 컴파일하고 실행할 수 있으므로 보안 문제가있을 수 있습니다.

도움이 되었습니까?

해결책

jQuery는 지금은 Eval () 만 사용합니다. JQuery 1.4에는이를 지원하는 브라우저에서 브라우저 네이티브 JSON Desorialization에 대한 지원이 포함됩니다. 원한다면 지금 그것을 이용할 수 있습니다. 가능한 경우 eval ()를 피하기 위해 jQuery의 DataFilter 콜백 사용 ($ .ajaxSetup에 넣어 $ .ajax (), $ .post (), $ .getJson () 호출에 자동으로 영향을 미칩니다).

다른 팁

필요한 것은 Serialize/Deserialize 구현에 사용 가능한 것 같습니다. http://www.json.org/js.html json.parse () 및 json.stringify ()를 제공하여 데이터를 쉽게 직렬화하고 검증 할 수 있습니다.

간단한 경우 JSON 텍스트를 객체로 변환하려면 Eval () 함수를 사용하십시오.

방금 jQuery를 사용하기 시작했는데 JSON2.JS 라이브러리를 json.org에서 삭제 한 다음 jQuery를 확장하여 사용하는 것이 가장 쉬운 일입니다.

나는 들어오는 JSON 데이터 jQuery Just Eval ()의 사형을 사로화한다고 믿는다. 그래도 내장 된 직렬화는 모릅니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top